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à.
Usa il recupero agentico per interrogare una knowledge base
Agentic retrieval utilizza un modello di base per scomporre in modo intelligente interrogazioni complesse in sottoquery, recuperare in modo iterativo le informazioni pertinenti dalle vostre knowledge base 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, in base alla domanda «Quale rivista è stata fondata per prima, Arthur's Magazine o First for Women?» , agentic retrieval la suddivide in sottointerrogazioni separate come «Quando è stata fondata la rivista Arthur's Magazine?» e «Quando è stata fondata First for Women?» , recupera i risultati per ciascuna di esse e valuta se i risultati combinati sono sufficienti.
Come funziona l'agentic retrieval
Quando si invia 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 si rivolge 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 iterazioni di recupero aggiuntive, fino al 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: se
generateResponseè impostato sutrue(impostazione predefinita), il modello di base sintetizza una risposta in linguaggio naturale a partire dai risultati recuperati. La risposta ti viene trasmessa in streaming tramite eventi.responseEvent -
Evento del risultato: vengono restituiti i risultati del recupero deduplicato di tutte le iterazioni, la risposta completa sintetizzata in linguaggio naturale e le citazioni. Gli eventi di traccia vengono trasmessi in streaming durante tutto il processo per garantire l'osservabilità.
Prerequisiti
Prima di poter utilizzare il recupero agentico, è necessario disporre di quanto segue:
-
Una knowledge base Amazon Bedrock completamente gestita. Attualmente Agentic Retrieval supporta solo basi di conoscenza gestite.
-
Accesso a un modello 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 recupero agentico
Per utilizzare agentic retrieval, invia una richiesta. AgenticRetrieveStream La risposta è un flusso che include i risultati del recupero e gli eventi di traccia.
La tabella seguente descrive i campi chiave di richiesta:
| Campo | Description |
|---|---|
| messages | La cronologia delle interrogazioni di input e delle conversazioni. Ogni messaggio contiene un content campo con un text valore e un role campo (useroassistant). |
| recuperatori | I retriever della knowledge base da cui recuperare i dati. È possibile specificare fino a 5 retriever, ognuno dei quali punta a una knowledge base gestita tramite il relativo ID. Ogni retriever può facoltativamente includere filtri di metadati e un numero massimo di risultati. |
| Agentico RetrieveConfiguration | La configurazione agentic retrieval, incluso il modello di base da utilizzare per la pianificazione e la valutazione delle query e, facoltativamente, un modello di reranking e il numero massimo di iterazioni degli agenti. |
| Campo | Description |
|---|---|
| Configurazione delle politiche | Configura un guardrail Amazon Bedrock da applicare durante il recupero degli agenti. guardrailIdguardrailVersionSpecificare un e. |
| Contesto utente | Fornisce un contesto utente per il filtraggio del controllo degli accessi. |
| Genera una 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 AgenticRetrieveStreamall'API.
Risposta di recupero agentica
La AgenticRetrieveStream risposta è un flusso che contiene i seguenti tipi di eventi:
-
Result event (
AgenticRetrieveResultEvent): l'evento finale fornito al termine dell'elaborazione. Contiene i risultati del recupero e, quando la generazione della risposta è abilitata, la risposta generata. L'evento risultante include:-
Risultati di recupero (
results): i blocchi di origine recuperati in tutte le iterazioni. Ogni risultato include contenuto, Source Retriever Identifier e metadati opzionali. Quando lo stesso blocco viene recuperato da più sottoquery, appare solo una volta nei risultati finali. -
Generated response (
generatedResponse) — QuandogenerateResponseè impostato sutrue(impostazione predefinita), l'evento result include un oggetto contenente:generatedResponse-
answer— Il testo della risposta in linguaggio naturale sintetizzato completo. -
citations— Un elenco opzionale che mappa gli intervalli della risposta per supportare i risultati del recupero. Ogni citazione contiene:-
startIndex— L'offset di caratteri in cui inizia il passaggio citato all'interno della stringa.answer -
endIndex— L'offset dei 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 risultante, 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 degli agenti che forniscono visibilità in ogni fase. Questi sono i tipi di eventi di traccia:-
Pianificazione: indica che il modello di base sta analizzando l'interrogazione e creando sottoquery. Include le azioni pianificate e i target retriever.
-
Recupero: indica che è in corso l'esecuzione di un recupero su una knowledge base. Include l'input e 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 base di conoscenza, questo recupera i risultati utilizzando la query utente non elaborata. Per più knowledge base, questo comando esegue una ricerca approfondita 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 file di recupero del codice sorgente e lo stato (operazione InProgress riuscita o non riuscita).
-
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 agentic retrieval, aggiungi le seguenti autorizzazioni:
{ "Effect": "Allow", "Action": [ "bedrock:GetGuardrail", "bedrock:ApplyGuardrail" ], "Resource": "*" }
Considerazioni
Tieni presente quanto segue quando usi agentic retrieval:
-
Agentic Retrieval supporta solo le knowledge base gestite di Amazon Bedrock.
-
Per le quote di retriever per richiesta, i risultati per chiamata di recupero e il numero massimo di iterazioni tra agenti, consulta. Quote di servizio per le basi di conoscenza gestite
-
La riduzione del numero massimo di iterazioni può far sì che l'agente si fermi prima, con una potenziale riduzione della precisione per le query complesse.
-
Quando si configurano i guardrail, è supportata solo l'azione.
BLOCKL'MASKazione non è supportata con il recupero agentico. -
Il cliente fornisce e possiede il modello di base, il modello di incorporamento e il modello di riclassificazione utilizzati durante il recupero degli agenti, se forniti. Le tue credenziali IAM vengono utilizzate per richiamare questi modelli.