Recuperación de pasajes - Amazon Kendra

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Recuperación de pasajes

Puede utilizar la API Retrieve como recuperador para los sistemas de generación aumentada de recuperación (RAG).

Los sistemas RAG utilizan inteligencia artificial generativa para crear aplicaciones de preguntas y respuestas. Los sistemas RAG constan de un recuperador y modelos de lenguaje grandes (LLM). Al realizar una consulta, el recuperador identifica los fragmentos de texto más relevantes de un corpus de documentos y los envía al LLM para proporcionar la respuesta más útil. Luego, el LLM analiza los fragmentos de texto relevantes y genera una respuesta integral para la consulta.

La API Retrieve analiza los fragmentos de texto o los extractos, que se denominan pasajes, y devuelve los pasajes principales que son más relevantes para la consulta.

Al igual que la API Query, la API Retrieve también busca información relevante mediante la búsqueda semántica. La búsqueda semántica tiene en cuenta el contexto de la consulta de búsqueda, además de toda la información disponible en los documentos indexados. Sin embargo, de forma predeterminada, la API Query solo devuelve fragmentos o pasajes de hasta 100 palabras simbólicas. Con la API Retrieve, puede recuperar pasajes más largos de hasta 200 palabras simbólicas y hasta 100 pasajes semánticamente relevantes. Esto no incluye las respuestas de tipo pregunta-respuesta o preguntas frecuentes de su índice. Los pasajes son extractos de texto que se pueden extraer semánticamente de varios documentos y de varias partes del mismo documento. Si, en casos extremos, sus documentos no devuelven ningún pasaje mediante la API Retrieve, también puede utilizar la API Query y sus tipos de respuestas.

También puede utilizar la API Retrieve para hacer lo siguiente:

  • Anular la priorización en el índice

  • Filtrar en función de los campos o atributos del documento

  • Filtrar en función del acceso del usuario o su grupo a los documentos

  • Consultar el bucket de puntuación de confianza para el resultado de un pasaje recuperado. El bucket de confianza proporciona una clasificación relativa que indica el grado de confianza de Amazon Kendra en que la respuesta es relevante para la consulta.

    nota

    Por el momento, los buckets de puntuación de confianza solo están disponibles en inglés.

También puede incluir algunos campos en la respuesta que podrían proporcionar información adicional útil.

Actualmente, la API Retrieve no admite todas las características que admite Query. No se admiten las siguientes características: las consultas con una sintaxis de consulta avanzada, las sugerencias de correcciones ortográficas para las consultas, la creación de facetas, las sugerencias de consultas para completar automáticamente las consultas de búsqueda y el aprendizaje incremental. Tenga en cuenta que no todas las funciones se aplican a la API. Retrieve Todas las versiones futuras de la Retrieve API se documentarán en esta guía.

La API Retrieve comparte el número de unidades de capacidad de consulta que establezca para su índice. Para obtener información sobre lo que incluye una unidad de capacidad única y la capacidad base por defecto de un índice, consulte Ajuste de la capacidad.

nota

No se puede añadir capacidad si se utiliza la Amazon Kendra Developer Edition; solo se puede añadir capacidad cuando se utiliza la Amazon Kendra Enterprise Edition. Para obtener más información sobre lo que se incluye en las ediciones Developer y Enterprise, consulte Ediciones de Amazon Kendra.

A continuación se muestra un ejemplo del uso de la API Retrieve para recuperar los 100 pasajes más relevantes de los documentos de un índice para la consulta "how does amazon kendra work?".

Python
import boto3 import pprint kendra = boto3.client("kendra") # Provide the index ID index_id = "index-id" # Provide the query text query = "how does amazon kendra work?" # You can retrieve up to 100 relevant passages # You can paginate 100 passages across 10 pages, for example page_size = 10 page_number = 10 result = kendra.retrieve( IndexId = index_id, QueryText = query, PageSize = page_size, PageNumber = page_number) print("\nRetrieved passage results for query: " + query + "\n") for retrieve_result in result["ResultItems"]: print("-------------------") print("Title: " + str(retrieve_result["DocumentTitle"])) print("URI: " + str(retrieve_result["DocumentURI"])) print("Passage content: " + str(retrieve_result["Content"])) print("------------------\n\n")
Java
package com.amazonaws.kendra; import software.amazon.awssdk.services.kendra.KendraClient; import software.amazon.awssdk.services.kendra.model.RetrieveRequest; import software.amazon.awssdk.services.kendra.model.RetrieveResult; import software.amazon.awssdk.services.kendra.model.RetrieveResultItem; public class RetrievePassageExample { public static void main(String[] args) { KendraClient kendra = KendraClient.builder().build(); String indxId = "index-id"; String query = "how does amazon kendra work?"; Integer pgSize = 10; Integer pgNumber = 10; RetrieveRequest retrieveRequest = retrieveRequest .builder() .indexId(indxId) .queryText(query) .pageSize(pgSize) .pageNumber(pgNumber) .build(); RetrieveResult retrieveResult = kendra.retrieve(retrieveRequest); System.out.println(String.format("\nRetrieved passage results for query: %s", query)); for(RetrieveResultItem item: retrieveResult.resultItems()) { System.out.println("----------------------"); System.out.println(String.format("Title: %s", documentTitle)); System.out.println(String.format("URI: %s", documentURI)); System.out.println(String.format("Passage content: %s", content)); System.out.println("-----------------------\n"); } } }