Recuperar passagens - Amazon Kendra

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Recuperar passagens

Use a API de Retrieve como um recuperador para sistemas de RAG (geração aumentada de recuperação).

Os sistemas de RAG usam inteligência artificial generativa para criar aplicativos de resposta a perguntas. Os sistemas de RAG consistem em um recuperador e LLM (grandes modelos de linguagem). Dada uma consulta, o recuperador identifica os trechos de texto mais relevantes de um acervo de documentos e os envia ao LLM para fornecer a resposta mais útil. Em seguida, o LLM analisa os trechos ou passagens de texto relevantes e gera uma resposta abrangente para a consulta.

A API de Retrieve analisa trechos de texto ou trechos chamados de passagens e retorna as principais passagens que são mais relevantes para a consulta.

Assim como a API de Query, a API de Retrieve também busca informações relevantes usando a pesquisa semântica. A pesquisa semântica leva em conta o contexto da consulta de pesquisa, além de todas as informações disponíveis dos documentos indexados. No entanto, por padrão, a API de Query retorna apenas trechos de até 100 palavras simbólicas. Com a API de Retrieve, recupere passagens mais longas de até 200 palavras simbólicas e até 100 passagens semanticamente relevantes. Isso não inclui respostas do tipo pergunta-resposta ou perguntas frequentes do índice. As passagens são trechos de texto que podem ser extraídos semanticamente de vários documentos e de várias partes do mesmo documento. Se, em casos extremos, seus documentos não produzirem nenhuma passagem usando a API de Retrieve, você também poderá usar a API de Query e seus tipos de respostas.

Você também poderá fazer o seguinte com a API de Retrieve:

  • Substitua o aumento no nível do índice

  • Filtrar com base nos campos ou atributos do documento

  • Filtrar com base no acesso do usuário ou do grupo aos documentos

  • Veja o bucket de pontuação de confiança para obter um resultado de passagem recuperado. O bucket de confiança fornece uma classificação relativa que indica o grau de confiança do Amazon Kendra de que a resposta é relevante para a consulta.

    nota

    No momento, os compartimentos de pontuação de confiança estão disponíveis somente em inglês.

Você também poderá incluir certos campos na resposta que podem fornecer informações adicionais úteis.

Atualmente, a API de Retrieve não oferece suporte a todos os recursos com suporte pela API de Query. Os seguintes recursos não têm suporte: consulta usando sintaxe de consulta avançada, correções ortográficas sugeridas para consultas, facetagem, sugestões de consultas para preencher automaticamente consultas de pesquisa e aprendizado incremental. Observe que nem todos os recursos se aplicam à Retrieve API. Todos os lançamentos futuros da Retrieve API serão documentados neste guia.

A API de Retrieve compartilha o número de unidades de capacidade de consulta que definida para seu índice. Para obter mais informações sobre o que está incluído em uma única unidade de capacidade e a capacidade base padrão de um índice, consulte Como ajustar a capacidade.

nota

Você não pode adicionar capacidade se estiver usando a Amazon Kendra Developer Edition; você só pode adicionar capacidade ao usar a Amazon Kendra Enterprise Edition. Para obter mais informações sobre o que está incluído nas edições do Desenvolvedor e Enterprise, consulte Edições do Amazon Kendra.

Veja a seguir um exemplo do uso da API de Retrieve para recuperar as 100 passagens mais relevantes dos documentos em um índice para a consulta de "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"); } } }