Tieni traccia degli eventi in Amazon Bedrock - Amazon Bedrock

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à.

Tieni traccia degli eventi in Amazon Bedrock

Ogni risposta di un agente Amazon Bedrock è accompagnata da una traccia che descrive in dettaglio i passaggi orchestrati dall'agente. La traccia è utile per capire il ragionamento che l'agente ha seguito per dare risposta in quel momento della conversazione.

Usa la traccia per monitorare il percorso dell'agente dall'input dell'utente alla risposta restituita. La traccia fornisce informazioni sugli input ai gruppi di azioni richiamati dall'agente e alle basi di conoscenza che interroga per rispondere all'utente. Inoltre, la traccia fornisce informazioni sugli output restituiti dai gruppi di azione e dalle basi di conoscenza. Puoi visualizzare il ragionamento utilizzato dall'agente per determinare l'azione da eseguire o la query che esegue su una knowledge base. Se un passaggio nella traccia non riesce, viene restituito il motivo dell'errore. Utilizza le informazioni dettagliate contenute nella traccia per risolvere i problemi del tuo agente. È possibile identificare le fasi in cui l'agente ha problemi o in cui produce un comportamento imprevisto. È quindi possibile utilizzare queste informazioni per valutare i modi in cui è possibile migliorare il comportamento dell'agente.

Visualizza la traccia

Di seguito viene descritto come visualizzare la traccia. Seleziona la scheda corrispondente al metodo scelto e segui i passaggi.

Console
Per visualizzare la traccia durante una conversazione con un agente

Accedi a e apri AWS Management Console la console Amazon Bedrock all'indirizzo https://console.aws.amazon.com/bedrock/.

  1. Nella sezione Agenti, seleziona il link relativo all'agente che desideri testare dall'elenco degli agenti.

  2. La finestra Test viene visualizzata in un riquadro sulla destra.

  3. Inserisci un messaggio e scegli Esegui. Durante la generazione della risposta o al termine della generazione, seleziona Mostra traccia.

  4. Puoi visualizzare la traccia per ogni Step in tempo reale mentre il tuo agente esegue l'orchestrazione.

API

Per visualizzare la traccia, invia una InvokeAgentrichiesta con un endpoint di runtime Agents for Amazon Bedrock e imposta il enableTrace campo su. TRUE Per impostazione predefinita, la traccia è disabilitata.

Se abiliti la traccia, nella InvokeAgentrisposta, ogni chunk elemento dello stream è accompagnato da un trace campo mappato a un TracePartoggetto. All'interno di TracePartc'è un trace campo mappato a un Traceoggetto.

Struttura della traccia

La traccia viene mostrata come oggetto JSON sia nella console che nell'API. Ogni Step nella console o Tracenell'API può essere una delle seguenti tracce:

  • PreProcessingTrace— Traccia l'input e l'output della fase di pre-elaborazione, in cui l'agente contestualizza e classifica l'input dell'utente e determina se è valido.

  • Orchestrazione: traccia l'input e l'output della fase di orchestrazione, in cui l'agente interpreta l'input, richiama i gruppi di azioni e interroga le knowledge base. Quindi l'agente restituisce l'output per continuare l'orchestrazione o per rispondere all'utente.

  • PostProcessingTrace— Traccia l'input e l'output della fase di post-elaborazione, in cui l'agente gestisce l'output finale dell'orchestrazione e determina come restituire la risposta all'utente.

  • FailureTrace— Traccia il motivo per cui un passaggio non è riuscito.

  • GuardrailTrace— Traccia le azioni del Guardrail.

Ciascuna delle tracce (tranneFailureTrace) contiene un ModelInvocationInputoggetto. L'ModelInvocationInputoggetto contiene le configurazioni impostate nel modello di prompt per la fase, insieme al prompt fornito all'agente in questa fase. Per ulteriori informazioni su come modificare i modelli di prompt, vedere. Istruzioni avanzate in Amazon Bedrock La struttura dell'ModelInvocationInputoggetto è la seguente:

{ "traceId": "string", "text": "string", "type": "PRE_PROCESSING | ORCHESTRATION | KNOWLEDGE_BASE_RESPONSE_GENERATION | POST_PROCESSING", "inferenceConfiguration": { "maximumLength": number, "stopSequences": ["string"], "temperature": float, "topK": float, "topP": float }, "promptCreationMode": "DEFAULT | OVERRIDDEN", "parserMode": "DEFAULT | OVERRIDDEN", "overrideLambda": "string" }

L'elenco seguente descrive i campi dell'ModelInvocationInputoggetto:

  • traceId: l'identificatore univoco della traccia.

  • text: il testo del prompt fornito all'agente in questa fase.

  • type: la fase attuale del processo dell'agente.

  • inferenceConfiguration: parametri di inferenza che influenzano la generazione della risposta. Per ulteriori informazioni, consulta Parametri di inferenza.

  • promptCreationMode— Se il modello di prompt di base predefinito dell'agente è stato sovrascritto per questo passaggio. Per ulteriori informazioni, consulta Istruzioni avanzate in Amazon Bedrock.

  • parserMode— Se il parser di risposta predefinito dell'agente è stato sovrascritto per questo passaggio. Per ulteriori informazioni, consulta Istruzioni avanzate in Amazon Bedrock.

  • overrideLambda— L'Amazon Resource Name (ARN) della funzione parser Lambda utilizzata per analizzare la risposta, se il parser predefinito è stato sovrascritto. Per ulteriori informazioni, consulta Istruzioni avanzate in Amazon Bedrock.

Per ulteriori informazioni su ciascun tipo di traccia, consulta le seguenti sezioni:

{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "parsedResponse": { "isValid": boolean, "rationale": "string" }, "traceId": "string" } }

PreProcessingTraceÈ costituito da un ModelInvocationInputoggetto e un PreProcessingModelInvocationOutputoggetto. PreProcessingModelInvocationOutput contiene i seguenti campi.

  • parsedResponse: contiene i seguenti dettagli sul prompt dell'utente analizzato.

    • isValid— Speciifica se il prompt dell'utente è valido.

    • rationale: specifica il ragionamento dell'agente per i passaggi successivi da eseguire.

  • traceId: l'identificatore univoco della traccia.

L'orchestrazione è costituita dall'ModelInvocationInputoggetto e da qualsiasi combinazione degli oggetti Rationale e Observation. InvocationInput Per ulteriori informazioni su ciascun oggetto, selezionate una delle seguenti schede:

{ "modelInvocationInput": { // see above for details }, "rationale": { ... }, "invocationInput": { ... }, "observation": { ... } }
Rationale

L'oggetto Rationale contiene il ragionamento dell'agente in base all'input dell'utente. Di seguito è riportata la struttura:

{ "traceId": "string", "text": "string" }

L'elenco seguente descrive i campi dell'oggetto Rationale:

  • traceId: l'identificatore univoco della fase della traccia.

  • text— Il processo di ragionamento dell'agente, basato sulla richiesta di input.

InvocationInput

L'InvocationInputoggetto contiene informazioni che verranno inserite nel gruppo di azioni o nella knowledge base da richiamare o interrogare. Di seguito è riportata la struttura:

{ "traceId": "string", "invocationType": "ACTION_GROUP | KNOWLEDGE_BASE | FINISH", "actionGroupInvocationInput": { // see below for details }, "knowledgeBaseLookupInput": { "knowledgeBaseId": "string", "text": "string" } }

L'elenco seguente descrive i campi dell'InvocationInputoggetto:

  • traceId: l'identificatore univoco della traccia.

  • invocationType— Speciifica se l'agente sta richiamando un gruppo di azione o una knowledge base o sta terminando la sessione.

  • actionGroupInvocationInput: appare se type è ACTION_GROUP. Per ulteriori informazioni, consulta Crea un gruppo d'azione per un agente Amazon Bedrock. Può essere una delle seguenti strutture:

    • Se il gruppo di azioni è definito da uno schema API, la struttura è la seguente:

      { "actionGroupName": "string", "apiPath": "string", "verb": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ], "request": { "content": { "<content-type>": [ { "name": "string", "type": "string", "value": "string" } ] } } }

      Di seguito sono riportate le descrizioni dei campi:

      • actionGroupName— Il nome del gruppo di azioni che l'agente prevede dovrebbe essere invocato.

      • apiPath— Il percorso dell'operazione API da chiamare, in base allo schema dell'API.

      • verb— Il metodo API utilizzato, in base allo schema API.

      • parameters: contiene un elenco di oggetti. Ogni oggetto contiene il nome, il tipo e il valore di un parametro nell'operazione API, come definito nello schema API.

      • requestBody— Contiene il corpo della richiesta e le relative proprietà, come definito nello schema API.

    • Se il gruppo di azioni è definito dai dettagli della funzione, la struttura è la seguente:

      { "actionGroupName": "string", "function": "string", "parameters": [ { "name": "string", "type": "string", "value": "string" }, ... ] }

      Di seguito sono riportate le descrizioni dei campi:

      • actionGroupName— Il nome del gruppo di azioni che l'agente prevede dovrebbe essere invocato.

      • function— Deve essere chiamato il nome della funzione prevista dall'agente.

      • parameters— I parametri della funzione.

  • knowledgeBaseLookupInput: appare se type è KNOWLEDGE_BASE. Per ulteriori informazioni, consulta Basi di conoscenza per Amazon Bedrock. Contiene le seguenti informazioni sulla knowledge base e sulla query di ricerca per la knowledge base:

    • knowledgeBaseId: l'identificatore univoco della knowledge base che l'agente cercherà.

    • text: la query da eseguire sulla knowledge base.

Observation

L'oggetto Observation contiene il risultato o l'output di un gruppo di azioni o di una knowledge base oppure la risposta all'utente. Di seguito è riportata la struttura:

{ "traceId": "string", "type": "ACTION_GROUP | KNOWLEDGE_BASE | REPROMPT | ASK_USER | FINISH" "actionGroupInvocation": { "text": "JSON-formatted string" }, "knowledgeBaseLookupOutput": { "retrievedReferences": [ { "content": { "text": "string" }, "location": { "type": "S3", "s3Location": { "uri": "string" } } }, ... ] }, "repromptResponse": { "source": "ACTION_GROUP | KNOWLEDGE_BASE | PARSER", "text": "string" }, "finalResponse": { "text" } }

L'elenco seguente descrive i campi dell'oggetto Observation:

  • traceId: l'identificatore univoco della traccia.

  • type— Speciifica se l'osservazione dell'agente viene restituita dal risultato di un gruppo di azione o da una knowledge base, se l'agente sta richiamando l'attenzione dell'utente, richiedendo ulteriori informazioni o terminando la conversazione.

  • actionGroupInvocationOutput— Contiene la stringa in formato JSON restituita dall'operazione API richiamata dal gruppo di azioni. Appare se type è ACTION_GROUP. Per ulteriori informazioni, consulta Definisci OpenAPI schemi per i gruppi d'azione del tuo agente in Amazon Bedrock.

  • knowledgeBaseLookupOutput— Contiene il testo recuperato dalla knowledge base pertinente per rispondere alla richiesta, oltre alla posizione Amazon S3 dell'origine dati. Appare se type è KNOWLEDGE_BASE. Per ulteriori informazioni, consulta Basi di conoscenza per Amazon Bedrock. Ogni oggetto nell'elenco retrievedReferences contiene i seguenti campi:

    • content: contiene il text della knowledge base che viene restituito dalla query alla knowledge base.

    • location— Contiene l'URI Amazon S3 dell'origine dati da cui è stato trovato il testo restituito.

  • repromptResponse: appare se type è REPROMPT. Contiene text che richiede un altro prompt, oltre a source per cui l'agente deve inviare nuovamente il prompt.

  • finalResponse: appare se type è ASK_USER o FINISH. Contiene il text che richiede all'utente ulteriori informazioni o è una risposta all'utente.

{ "modelInvocationInput": { // see above for details } "modelInvocationOutput": { "parsedResponse": { "text": "string" }, "traceId": "string" } }

PostProcessingTraceÈ costituito da un ModelInvocationInputoggetto e un PostProcessingModelInvocationOutputoggetto. PostProcessingModelInvocationOutputContiene i seguenti campi:

  • parsedResponse— Contiene il codice text da restituire all'utente dopo che il testo è stato elaborato dalla funzione parser.

  • traceId: l'identificatore univoco della traccia.

{ "failureReason": "string", "traceId": "string" }

L'elenco seguente descrive i campi dell'FailureTraceoggetto:

  • failureReason: il motivo per cui il passaggio non è riuscito.

  • traceId: l'identificatore univoco della traccia.

{ "action": "GUARDRAIL_INTERVENED" | "NONE", "inputAssessments": [GuardrailAssessment], "outputAssessments": [GuardrailAssessment] }

L'elenco seguente descrive i campi dell' GuardrailAssessment oggetto:

  • action— indica se Guardrails è intervenuto o meno sui dati di input. Le opzioni sono o. GUARDRAIL_INTERVENED NONE

  • inputAssessments— I dettagli della valutazione Guardrail sull'input dell'utente.

  • outputAssessments— I dettagli della valutazione Guardrail sulla risposta.

Per maggiori dettagli sull'GuardrailAssessmentoggetto e sul test di un Guardrail, vedi. Prova un guardrail

GuardrailAssessment esempio:

{ "topicPolicy": { "topics": [{ "name": "string", "type": "string", "action": "string" }] }, "contentPolicy": { "filters": [{ "type": "string", "confidence": "string", "action": "string" }] }, "wordPolicy": { "customWords": [{ "match": "string", "action": "string" }], "managedWordLists": [{ "match": "string", "type": "string", "action": "string" }] }, "sensitiveInformationPolicy": { "piiEntities": [{ "type": "string", "match": "string", "action": "string" }], "regexes": [{ "name": "string", "regex": "string", "match": "string", "action": "string" }] } }