Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Configurer la télémétrie du SDK Vercel AI pour les évaluations AgentCore
Cette page explique comment instrumenter un agent du SDK
Note
AgentCore Evaluations prend en charge le SDK Vercel AI pour les TypeScript agents uniquement. Python n'est pas pris en charge pour le moment.
Rubriques
TypeScript assistance aux agents
Un agent du SDK Vercel AI produit des spans sous le nom de scope. @aws/aws-distro-opentelemetry-instrumentation-vercel-ai
Instrumentez votre agent
Instrumentez un agent du SDK Vercel AI à l'aide de AWS Distro for OpenTelemetry (ADOT). Ajoutez le package d'autoinstrumentation AWS Distro Node (@aws/aws-distro-opentelemetry-node-autoinstrumentation) à vos dépendances. Il inclut l'instrumentation Vercel AI intégrée, qui s'active au démarrage et émet le nom du scope. @aws/aws-distro-opentelemetry-instrumentation-vercel-ai
package.json:
{ "dependencies": { "@aws/aws-distro-opentelemetry-node-autoinstrumentation": "^0.12.0" } }
L'instrumentation suit les conventions sémantiques de l' OpenTelemetry IA générative : elle classe les intervalles avec des attributs gen_ai.operation.name et transmet la conversation en fonction des attributs. gen_ai.*
Note
L'instrumentation constitue une étape dans la mise en place de l'observabilité. Pour exporter la télémétrie à des fins d'évaluation, effectuez la configuration complète dans Configurer l'observabilité.
Comment les travées sont identifiées
L'instrumentation Vercel AI définit l'gen_ai.operation.nameattribut sur chaque travée. Le service d'évaluation utilise cet attribut pour classer les spans :
| Type d'envergure | Attribut d'identification |
|---|---|
|
Invoquer un agent |
|
|
Outil d'exécution |
|
|
Inférence |
|
Comment sont extraits les champs d'évaluation
Le SDK Vercel AI sérialise les messages sous deux formes, et AgentCore Evaluations lit les deux :
-
Une forme orientée objet sur l'entrée de l'agent d'invocation et des étendues d'inférence, dans laquelle
gen_ai.input.messagesse trouve un objet JSON avec unsystemchamp (l'invite du système) et unmessagestableau (par exemple,).{"system": "…", "messages": [{"role": "user", "content": "…"}]} -
Une forme de liste de parties sur la sortie, dans laquelle chaque message contient un
partstableau de blocs de contenu typés (par exemple,).[{"role": "assistant", "parts": [{"type": "text", "content": "…"}]}]
AgentCore Les évaluations extraient le texte des deux formes : l'invite utilisateur figurant dans le dernier message utilisateur de la saisie, l'invite du système depuis le system champ et la réponse de l'agent depuis les parties textuelles de la sortie.
L'instrumentation Vercel AI utilise la télémétrie unifiée, de sorte que le contenu de la conversation reste stable sous forme d'attributs :
-
Invite utilisateur et réponse de l'agent : depuis
gen_ai.input.messageset versgen_ai.output.messagesle span d'invocation de l'agent. -
Invite système : depuis le
systemchamp de l'object-dict dans.gen_ai.input.messages -
Appel d'outil : nom de l'outil provenant de
gen_ai.tool.name, arguments et résultats provenant degen_ai.tool.call.argumentsetgen_ai.tool.call.result, sur la plage d'outils d'exécution.
Pour plus d'informations, consultez la section Exemples de spans provenant d'un TypeScript agent.
Exemples de spans provenant d'un agent TypeScript
Grâce à la télémétrie unifiée, le contenu de la conversation reste sur les attributs span et aucun enregistrement d'événement distinct n'est produit. Les exemples suivants proviennent d'un agent de planification de voyages du SDK TypeScript Vercel AI déployé sur Amazon Bedrock AgentCore Runtime, à l'aide d'un modèle Amazon Bedrock.
Note
Ces exemples ne constituent pas des séries complètes. Ils présentent des données représentatives provenant d'une interaction réelle entre agents, certains champs étant omis et les valeurs longues tronquées pour des raisons de lisibilité.