bedrock-agent-runtime, ce qui vous permet d’inspecter chaque invocation de invoke_agent, notamment le modèle de fondation, l’utilisation des jetons, l’ID de session et la réponse de l’agent.
Le SDK TypeScript de Weave ne prend pas encore en charge l’intégration Bedrock Agents.
Prérequis
- Une clé API W&B. Pour plus d’informations, voir Clés API.
- Des identifiants d’authentification AWS configurés pour un compte ayant accès à Bedrock Agents (voir Identity and access management for Amazon Bedrock).
-
Un agent Bedrock existant et son alias. Notez les valeurs
agentIdetagentAliasId. Pour obtenir la liste des agents associés à votre ID, exécutez la commande AWS CLI suivante en remplaçant<your-region>par l’identifiant de la région où se trouve votre agent :
Installation
Installez Weave et le SDK AWS pour Python :Tracer les appels invoke_agent
Créez un client bedrock-agent-runtime et transmettez-le à patch_client. Weave détecte le type de client et encapsule la méthode invoke_agent. Une fois le patching appliqué, utilisez le client comme d’habitude.
invoke_agent apparaît dans l’interface Weights & Biases sous la forme d’une trace BedrockAgentRuntime.invoke_agent. La trace enregistre :
- Les entrées de l’agent (
agentId,agentAliasId,sessionId,inputText). - Le texte de l’assistant extrait du flux d’événements de complétion.
- Le modèle de fondation sous-jacent utilisé par l’agent (extrait de la trace d’orchestration).
- L’utilisation des jetons (
prompt_tokens,completion_tokens,total_tokens), lorsque l’agent la fournit.
orchestrationTrace, que Bedrock n’émet que si invoke_agent est appelé avec enableTrace=True. Sans cet indicateur, les traces capturent tout de même les entrées et le texte de la réponse générée, mais le modèle de fondation prend par défaut la valeur bedrock-agent:<agentId> et le nombre de jetons n’est pas disponible.
Imbriquer les appels d’agent associés
Pour regrouper un appelinvoke_agent avec la logique qui s’y rattache, comme un prétraitement, un post-traitement ou des appels d’API chaînés, encapsulez votre fonction avec @weave.op. Weave imbrique alors la trace invoke_agent patchée dans l’op parent.
Conversations sur plusieurs tours de conversation
Bedrock Agents conserve l’état de la conversation côté service lorsque vous réutilisez unsessionId. Pour regrouper plusieurs tours de conversation dans une seule trace de l’interface Weights & Biases, encapsulez ces tours dans weave.thread :
Afficher les traces
Lorsque vous exécutez l’exemple, Weave affiche un lien vers le tableau de bord du projet. Ouvrez ce lien pour examiner, pour chaque appelinvoke_agent, les entrées de l’agent, le modèle de fondation utilisé, l’utilisation des jetons et la réponse générée.