Passer au contenu principal
Amazon Bedrock Agents vous permettent de créer sur AWS des agents d’IA gérés qui orchestrent des modèles de fondation, des bases de connaissances et des groupes d’actions. Weave trace les appels au client bedrock-agent-runtime afin que vous puissiez inspecter chaque invocation invoke_agent, y compris 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 actuellement pas en charge l’intégration à Bedrock Agents.

Prérequis

  • Une clé API W&B. Pour plus d’informations, voir les clés API.
  • Des identifiants d’authentification AWS configurés pour un compte disposant d’un accès à Bedrock Agents (voir Identity and access management for Amazon Bedrock).
  • Un agent Bedrock et un alias existants. Notez les valeurs de agentId et agentAliasId. Vous pouvez afficher la liste des agents associés à votre ID en exécutant la commande AWS CLI suivante, en remplaçant <your-region> par le slug 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 passez-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.
Chaque appel invoke_agent apparaît dans l’interface Weave 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) lorsqu’elle est renvoyée par l’agent.
Le modèle de fondation et l’utilisation des jetons sont extraits des événements orchestrationTrace, que Bedrock n’émet que lorsque invoke_agent est appelé avec enableTrace=True. Sans cet indicateur, les traces capturent toujours les entrées et le texte de réponse généré, mais le modèle de fondation prend par défaut la valeur bedrock-agent:<agentId> et le nombre de jetons n’est pas disponible. Pour regrouper un appel invoke_agent avec une logique connexe, comme le prétraitement, le post-traitement ou des appels d’API en chaîne, encapsulez votre fonction avec @weave.op. Weave imbrique la trace patchée de invoke_agent dans l’op parent.

Conversations sur plusieurs tours de conversation

Les Bedrock Agents conservent l’état de la conversation côté service lorsque vous réutilisez un sessionId. Pour regrouper plusieurs tours de conversation dans une trace unique dans l’interface Weave, encapsulez ces tours de conversation dans weave.thread :
Weave affiche chaque tour de conversation dans l’interface utilisateur comme une ligne distincte dans la vue Threads.

Consulter les traces

Lorsque vous exécutez l’exemple, Weave affiche un lien vers le tableau de bord du projet. Ouvrez le lien pour examiner les entrées de l’agent, le modèle de fondation, l’utilisation des jetons et la réponse générée pour chaque appel à invoke_agent.