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à.
Utilizzare il recupero agentico per eseguire query su una knowledge base
Il recupero agentico utilizza un modello di base per scomporre in modo intelligente le query complesse in sottoquery, recuperare in modo iterativo le informazioni pertinenti dalle basi di conoscenza e valutare se i risultati recuperati sono sufficienti per rispondere alla query originale. Questo approccio migliora la precisione del recupero per domande complesse in più fasi che un singolo passaggio di recupero potrebbe non rispondere completamente.
Ad esempio, alla domanda «Quale rivista è stata fondata per prima, Arthur's Magazine o First for Women?» , agentic retrieval lo suddivide in sottoquery separate, ad esempio «Quando è stata fondata Arthur's Magazine?» e «Quando è stata fondata First for Women?» , recupera i risultati per ciascuno e valuta se i risultati combinati sono sufficienti.
Come funziona l'agentic retrieval
Quando invii una richiesta all'AgenticRetrieveStreamAPI, si verifica il seguente processo:
-
Pianificazione: il modello di base analizza la query e crea un piano per scomporla in una o più sottoquery. Ogni sottoquery è indirizzata a un retriever specifico che hai configurato. Dopo aver raccolto i risultati del recupero, il modello di base valuta se sono sufficienti per rispondere alla query originale. In caso contrario, pianifica ed esegue ulteriori iterazioni di recupero, fino al numero massimo configurato.
-
Recupero: le sottoquery vengono eseguite sui retriever della knowledge base configurati. I risultati vengono raccolti da ogni recupero.
-
Espansione completa del documento: quando il modello di base determina che è necessario l'intero contenuto di un documento (ad esempio, per il riepilogo, per verificare la completezza o per accedere a sezioni specifiche), chiama l' GetDocumentContent API per recuperare il contenuto completo del documento.
-
Generazione di risposte: quando
generateResponseè impostato sutrue(impostazione predefinita), il modello di base sintetizza una risposta in linguaggio naturale dai risultati recuperati. La risposta ti viene restituita tramite eventi.responseEvent -
Evento risultante: il recupero deduplicato dei risultati di tutte le iterazioni, la risposta completa sintetizzata in linguaggio naturale e le citazioni vengono restituite. Gli eventi di tracciamento vengono trasmessi in streaming durante tutto il processo per garantirne l'osservabilità.
Prerequisiti
Prima di poter utilizzare l'agentic retrieval, è necessario disporre di quanto segue:
-
Una knowledge base Amazon Bedrock completamente gestita. Agentic retrieval attualmente supporta solo basi di conoscenza gestite.
-
Accesso a un modello di base in Amazon Bedrock da utilizzare per la pianificazione e la valutazione delle query.
-
Le autorizzazioni IAM richieste. Per ulteriori informazioni, consulta Autorizzazioni richieste per il recupero dell'agente.
Interroga una knowledge base con agentic retrieval
Per utilizzare l'agentic retrieval, invia una richiesta. AgenticRetrieveStream La risposta è un flusso che include i risultati del recupero e gli eventi di tracciamento.
La tabella seguente descrive i principali campi di richiesta:
| Campo | Description |
|---|---|
| messages | La cronologia delle richieste di input e delle conversazioni. Ogni messaggio contiene un content campo con un text valore e un role campo (useroassistant). |
| retriever | I recuperatori della knowledge base da cui recuperare i dati. È possibile specificare fino a 5 recuperatori, ognuno dei quali punta a una knowledge base gestita tramite il relativo ID. Ogni retriever può opzionalmente includere filtri di metadati e un numero massimo di risultati. |
| agentico RetrieveConfiguration | La configurazione di recupero dell'agente, incluso il modello di base da utilizzare per la pianificazione e la valutazione delle query e, facoltativamente, un modello di riposizionamento e il numero massimo di iterazioni degli agenti. |
| Campo | Description |
|---|---|
| Configurazione delle politiche | Configura un guardrail Amazon Bedrock da applicare durante il recupero dell'agente. guardrailIdguardrailVersionSpecifica una e. |
| Contesto utente | Fornisce un contesto utente per il filtraggio del controllo degli accessi. |
| Genera risposta | Un campo booleano che, se impostato su true (impostazione predefinita), indica al modello di base di generare una risposta in linguaggio naturale dai risultati recuperati. La risposta viene trasmessa in streaming come blocchi di testo e inclusa nell'evento del risultato. |
Per la sintassi completa di richiesta e risposta, consulta il riferimento AgenticRetrieveStream all'API.
Risposta di recupero agentica
La AgenticRetrieveStream risposta è uno stream che contiene i seguenti tipi di eventi:
-
Evento di risultato (
AgenticRetrieveResultEvent) — L'evento finale consegnato al termine dell'elaborazione. Contiene i risultati del recupero e, quando la generazione della risposta è abilitata, la risposta generata. L'evento dei risultati include:-
Risultati di recupero (
results): i blocchi di origine recuperati in tutte le iterazioni. Ogni risultato include contenuto, identificatore di origine recuperabile e metadati opzionali. Quando lo stesso blocco viene recuperato da più sottoquery, appare solo una volta nei risultati finali. -
Risposta generata (
generatedResponse): quandogenerateResponseè impostato sutrue(impostazione predefinita), l'evento del risultato include un oggetto contenente:generatedResponse-
answer— Il testo completo della risposta sintetizzato in linguaggio naturale. -
citations— Un elenco opzionale che associa parti della risposta ai risultati di recupero di supporto. Ogni citazione contiene:-
startIndex— L'offset di caratteri da cui inizia il passaggio citato all'interno della stringa.answer -
endIndex— L'offset di caratteri in cui termina il passaggio citato (esclusivo: il testo citato va dastartIndexfino a ma non include).endIndex -
references— Un elenco in cui ogni riferimento ha unresultIndexcampo che viene indicizzato nell'resultsarray in base allo stesso evento di risultato, indicando quale risultato di recupero supporta l'intervallo citato.
-
-
-
-
Eventi di risposta (
AgenticRetrieveResponseEvent): quandogenerateResponseè impostato su (impostazione predefinita),responseEventgli eventi vengonotruetrasmessi in streaming durante la generazione della risposta. Ogni evento contiene untextcampo con una parte incrementale della risposta sintetizzata in linguaggio naturale. -
Trace events (
AgenticRetrieveTraceEvent): eventi trasmessi in streaming durante il processo di recupero dell'agente che forniscono visibilità in ogni fase. Questi sono i tipi di eventi di tracciamento:-
Pianificazione: indica che il modello di base sta analizzando l'interrogazione e creando sottointerrogazioni. Include le azioni pianificate e i target retriever.
-
Recupero: indica che è in corso un recupero su una knowledge base. Include l'input, l'output del recupero ed eventuali avvisi o errori.
-
Recupero speculativo: un recupero iniziale che viene eseguito prima della prima fase di pianificazione per ridurre la latenza. Per una singola knowledge base, recupera i risultati utilizzando la query utente non elaborata. Per più basi di conoscenza, esegue una ricerca tramite sonda per aiutare a indirizzare le query ai retriever appropriati.
-
Espansione completa del documento: indica che l'agente sta recuperando l'intero contenuto di un documento specifico. Include l'ID del documento, il dispositivo di recupero del codice sorgente e lo stato (InProgress, Operazione completata o Fallita).
-
Autorizzazioni richieste per il recupero dell'agente
Per utilizzare l'AgenticRetrieveStreamAPI, l'identità IAM chiamante deve disporre delle seguenti autorizzazioni:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "bedrock:AgenticRetrieveStream", "Resource": "*" }, { "Effect": "Allow", "Action": [ "bedrock:Retrieve", "bedrock:GetDocumentContent" ], "Resource": "arn:aws:bedrock:region:account-id:knowledge-base/*" }, { "Effect": "Allow", "Action": "bedrock:InvokeModelWithResponseStream", "Resource": "*" } ] }
Se utilizzi guardrails con recupero tramite agente, aggiungi le seguenti autorizzazioni:
{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }
Considerazioni
Tieni presente quanto segue quando usi l'agentic retrieval:
-
Agentic retrieval supporta solo le knowledge base gestite di Amazon Bedrock.
-
Per le quote relative ai recuperatori per richiesta, i risultati per chiamata di recupero e il numero massimo di iterazioni degli agenti, consulta. Quote di servizio per le knowledge base gestite
-
La riduzione del numero massimo di iterazioni può far sì che l'agente si fermi prima, riducendo potenzialmente la precisione per le interrogazioni complesse.
-
Quando si configurano i guardrail, è supportata solo l'azione.
BLOCKL'MASKazione non è supportata con il recupero tramite agente. -
Il cliente fornisce e possiede il modello di base, il modello di incorporamento e il modello di riclassificazione utilizzati durante il recupero dell'agente, se forniti. Le tue credenziali IAM vengono utilizzate per richiamare questi modelli.