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à.
Supporto per framework generici
Amazon Bedrock AgentCore Evaluations legge la telemetria attraverso due standard aperti: le convenzioni semantiche di intelligenza artificiale OpenTelemetry generativa e le convenzioni semantiche. OpenInference Oltre ai framework che hanno una propria pagina in questa sezione, il servizio supporta qualsiasi agente che emette telemetria in una di queste due convenzioni. Si tratta di un supporto di framework generico.
Usa il supporto generico per il framework quando crei con un framework che non ha pagine in questa sezione o quando scrivi la tua strumentazione per un agente personalizzato. Configura la tua strumentazione per emettere il nome dell'ambito, gli attributi span e gli attributi identificativi descritti in questa pagina, e il servizio identifica gli intervalli ed estrae i valori necessari ai valutatori, utilizzando la stessa classificazione degli intervalli e l'estrazione dei campi dei framework denominati.
Poiché le strutture dati proprie del framework non sono note in anticipo, il servizio estrae ogni valore come stringa anziché analizzarlo in una struttura specifica del framework. Conserva i prompt, le risposte e gli argomenti degli strumenti negli attributi elencati in Come vengono estratti i campi di valutazione, anziché racchiusi in una struttura personalizzata, ad esempio un oggetto di richiesta annidato o una busta di messaggio personalizzata, in modo che i valutatori ricevano valori puliti.
Argomenti
Convenzioni supportate
Il servizio seleziona come leggere ogni intervallo tra quelli dell'intervallo. scope.name Imposta il nome dell'ambito della strumentazione su uno dei seguenti prefissi e il servizio legge l'intervallo con la convenzione corrispondente:
| Convenzione | Prefisso del nome dell'ambito |
|---|---|
|
OpenTelemetry |
|
|
OpenInference |
|
Se un ambito ha una pagina propria in questa sezione, il servizio utilizza invece la gestione descritta in quella pagina. Il supporto del framework generico si applica a tutti gli altri ambiti che corrispondono a uno di questi prefissi.
Alcuni ambiti corrispondono ai OpenTelemetry prefissi ma non sono framework di agenti GenAI. Si tratta di strumentazione per il trasporto e l'infrastruttura, come i client HTTP (,,), i framework web (httpxurllib3urllib,aiohttp_client), la strumentazione Model Context Protocol (starletteMCPfastapi) e la strumentazione SDK (), compresi gli ambiti e gli ambiti. AWS botocore bedrock-agentcore bedrock-runtime Il servizio esclude questi ambiti dal supporto del framework generico in modo che i loro intervalli non producano intervalli di agenti, strumenti o inferenze spuri.
Come vengono identificati gli intervalli
Il servizio classifica ogni intervallo in uno dei tre tipi utilizzando l'attributo identificativo standard per la relativa convenzione. Imposta questo attributo su ogni intervallo che desideri valutare. Il suo valore indica al servizio cosa rappresenta l'intervallo e il servizio lo legge dall'intervallo stesso, indipendentemente da dove è archiviato il contenuto della conversazione.
Esempio
Come vengono estratti i campi di valutazione
Per ogni intervallo classificato, il servizio legge i valori necessari, come il prompt dell'utente, la risposta dell'agente e gli input e gli output dello strumento. Come per i framework citati, la collocazione del contenuto della conversazione dipende dalla modalità di trasmissione della telemetria. Con la telemetria divisa, il contenuto risiede nel record dell'evento correlato. Con la telemetria unificata, rimane nell'intervallo come attributi. Per ulteriori informazioni, consulta Configurazione e consegna della telemetria.
Il servizio prova diverse posizioni per ogni campo e utilizza la prima che contiene un valore, in modo da poter emettere qualsiasi attributo già impostato dalla strumentazione. Ogni valore estratto viene stringato anziché analizzato in una struttura specifica del framework.
OpenTelemetry convenzione
Per i framework che utilizzano la OpenTelemetry convenzione, il servizio legge ogni campo dalle seguenti posizioni, nell'ordine:
-
Prompt utente (invoke agent span): dal record dell'evento
body.input; quindi dall'attributo span.gen_ai.task.input -
Risposta dell'agente (richiama l'agente span): dal record dell'evento
body.output; quindi dall'attributo span.gen_ai.task.outputSe nessuno dei due è presente, il servizio ritorna al primo messaggio utente e all'ultimo messaggio dell'assistente raccolti dagli intervalli di inferenza della traccia. -
Messaggi di inferenza (intervallo di inferenza): dal record dell'evento e quindi dagli
body.output.messagesattributibody.input.messagesand span.gen_ai.input.messagesgen_ai.output.messages -
Nome dello strumento (execute tool span): dall'attributo span; quindi dall'attributo
gen_ai.tool.namespan.traceloop.entity.name -
Argomenti dello strumento (execute tool span): dall'attributo
gen_ai.tool.call.argumentsspan; poi dal recordbody.inputdell'evento; quindi dall'attributo span.traceloop.entity.input -
Risultato dello strumento (execute tool span): dall'attributo
gen_ai.tool.call.resultspan; poi dal recordbody.outputdell'evento; quindi dall'attributo span.traceloop.entity.output -
Prompt di sistema (inference span): dall'attributo span.
gen_ai.system_instructions
OpenInference convenzione
Per i framework che utilizzano la OpenInference convenzione, il servizio legge ogni campo dalle seguenti posizioni, nell'ordine:
-
Prompt utente (invoke agent span): dall'attributo
input.valuespan; quindi dall'input del corpo del record dell'evento. -
Risposta dell'agente (invoke agent span): dall'attributo
output.valuespan; quindi dall'output del corpo del record dell'evento. -
Messaggi di inferenza (intervallo di inferenza): dagli attributi del OpenInference messaggio dell'intervallo (ad esempio,
llm.input_messages.*ellm.output_messages.*); quindi dainput.valueeoutput.value; quindi dal corpo del record dell'evento. -
Argomenti dello strumento (execute tool span): dall'attributo
input.valuespan; quindi dall'input del corpo del record dell'evento. -
Risultato dello strumento (execute tool span): dall'attributo
output.valuespan; quindi dall'output del corpo del record dell'evento. -
Prompt di sistema (inference span): dagli attributi inference span; quindi dal corpo del record dell'evento.
-
Strumenti disponibili: dagli attributi di definizione degli strumenti dell'inference span (
llm.tools.*); quindi analizzati dalla richiesta serializzata nel corpo del record dell'evento o.input.value
Requisiti di configurazione
Per essere valutati con il supporto di un framework generico, configura la tua strumentazione come segue:
-
Usa un nome di ambito riconosciuto. Emit si estende sotto un nome di ambito che inizia con
opentelemetry.instrumentation.*o.openinference.instrumentation.*Il servizio legge solo questi prefissi con il supporto del framework generico. -
Imposta un attributo identificativo su ogni intervallo. Impostare
gen_ai.operation.nameotraceloop.span.kindper la OpenTelemetry convenzione oopeninference.span.kindper la OpenInference convenzione. Il servizio salta un intervallo che non riporta alcun attributo identificativo riconosciuto. -
Inserisci il contenuto negli attributi documentati. Imposta gli attributi di prompt, response e tool elencati in Come vengono estratti i campi di valutazione. Se racchiudi questi valori nella tua struttura, il valore estratto include la struttura circostante, perché il servizio stringe il contenuto anziché analizzare il modello di dati del framework.
Se non riesci a impostare gli attributi delle convenzioni, puoi comunque valutare il turno dell'agente di primo livello. Imposta gli attributi agentcore.invocation.user_prompt e agentcore.invocation.agent_response span, che vengono emessi anche dall' AgentCore SDK. Il servizio legge questi attributi da qualsiasi ambito e riguardano solo il prompt e la risposta dell'agente, non le inferenze o gli intervalli degli strumenti.