

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
<a name="searching-retrieve"></a>

Use a API de [https://docs.aws.amazon.com/kendra/latest/APIReference/API_Retrieve.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Retrieve.html) 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 [https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html](https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html), a API `Retrieve` também busca informações relevantes. A recuperação de informações da API Retrieval considera o contexto da consulta e 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, também chamadas de fragmentos, são trechos de texto que podem ser extraídos semanticamente de vários documentos e de várias partes do mesmo documento. O índice GenAI Enterprise Edition do Kendra oferece resultados de alta precisão para recuperação, usando uma pesquisa híbrida sobre índices vetoriais e de palavras-chave, juntamente com a classificação por modelos de aprendizado profundo.

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.

No momento, a API do `Retrieve` não é compatível com os seguintes recursos: consulta usando [sintaxe de consulta avançada](https://docs.aws.amazon.com/kendra/latest/dg/searching-example.html#searching-index-query-syntax), [correções ortográficas sugeridas](https://docs.aws.amazon.com/kendra/latest/dg/query-spell-check.html) para consultas, [facetagem](https://docs.aws.amazon.com/kendra/latest/dg/filtering.html#search-facets), [sugestões de consultas](https://docs.aws.amazon.com/kendra/latest/dg/query-suggestions.html) para preencher consultas de pesquisa automaticamente e [aprendizado incremental](https://docs.aws.amazon.com/kendra/latest/dg/submitting-feedback.html). As consultas da API de recuperação não aparecem no painel de analytics.

A API de `Retrieve` compartilha o número de [unidades de capacidade de consulta](https://docs.aws.amazon.com/kendra/latest/APIReference/API_CapacityUnitsConfiguration.html) 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](https://docs.aws.amazon.com/kendra/latest/dg/adjusting-capacity.html).

**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](https://docs.aws.amazon.com/kendra/latest/dg/what-is-kendra.html#kendra-editions).

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");
        }
    }
}
```

------