Recupero dei passaggi - Amazon Kendra

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Recupero dei passaggi

È possibile utilizzare l'RetrieveAPI come retriever per i sistemi RAG (Retrieval Augmented Generation).

I sistemi RAG utilizzano l'intelligenza artificiale generativa per creare applicazioni di risposta a domande. I sistemi RAG sono costituiti da un retriever e da modelli linguistici di grandi dimensioni (LLM). A seguito di una richiesta, il retriever identifica le porzioni di testo più rilevanti da un corpus di documenti e le invia all'LLM per fornire la risposta più utile. Quindi, l'LLM analizza i blocchi o i passaggi di testo pertinenti e genera una risposta completa alla domanda.

L'RetrieveAPI esamina le porzioni di testo o gli estratti denominati passaggi e restituisce i passaggi principali più pertinenti alla query.

Come l'QueryAPI, anche l'API cerca le informazioni Retrieve pertinenti utilizzando la ricerca semantica. La ricerca semantica tiene conto del contesto della query di ricerca, oltre a tutte le informazioni disponibili dai documenti indicizzati. Tuttavia, per impostazione predefinita, l'QueryAPI restituisce solo passaggi estratti contenenti un massimo di 100 parole chiave. Con l'RetrieveAPI, puoi recuperare passaggi più lunghi di un massimo di 200 parole chiave e fino a 100 passaggi semanticamente rilevanti. Questo non include le risposte a domande e risposte di tipo FAQ dal tuo indice. I passaggi sono estratti di testo che possono essere estratti semanticamente da più documenti e più parti dello stesso documento. Se in casi estremi i documenti non producono passaggi utilizzando l'RetrieveAPI, in alternativa è possibile utilizzare l'API e i Query relativi tipi di risposte.

Con l'RetrieveAPI puoi anche fare quanto segue:

  • Sostituisci il potenziamento a livello di indice

  • Filtra in base ai campi o agli attributi del documento

  • Filtra in base all'accesso dell'utente o del relativo gruppo ai documenti

  • Visualizza il bucket del punteggio di confidenza per un risultato di passaggio recuperato. Il bucket di confidenza fornisce una classificazione relativa che indica quanto Amazon Kendra è sicuro che la risposta sia pertinente alla query.

    Nota

    I bucket con il punteggio di confidenza sono attualmente disponibili solo per l'inglese.

Puoi anche includere alcuni campi nella risposta che potrebbero fornire utili informazioni aggiuntive.

L'RetrieveAPI attualmente non supporta tutte le funzionalità supportate dall'QueryAPI. Le seguenti funzionalità non sono supportate: esecuzione di query utilizzando la sintassi avanzata delle query, correzioni ortografiche suggerite per le query, faceting, suggerimenti di query per il completamento automatico delle query di ricerca e apprendimento incrementale. Tieni presente che non tutte le funzionalità si applicano all'API. Retrieve Eventuali versioni future dell'RetrieveAPI verranno documentate in questa guida.

L'RetrieveAPI condivide il numero di unità di capacità di interrogazione impostate per l'indice. Per ulteriori informazioni su cosa è incluso in una singola unità di capacità e sulla capacità di base predefinita per un indice, consulta Adattamento della capacità.

Nota

Non è possibile aggiungere capacità se si utilizza la Amazon Kendra Developer Edition; è possibile aggiungere capacità solo quando si utilizza Amazon Kendra Enterprise Edition. Per ulteriori informazioni su ciò che è incluso nelle edizioni Developer ed Enterprise, consulta Amazon Kendra Edizioni.

Di seguito è riportato un esempio di utilizzo dell'RetrieveAPI per recuperare i 100 passaggi più importanti dei documenti in un indice per la query "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"); } } }