createOtelExtension du SDK Weave de Weights & Biases (weave), conforme aux conventions sémantiques GenAI. Cette page explique comment activer le traçage Agent Lens dans une application Pi afin d’observer le comportement de l’agent, de déboguer les runs et d’analyser l’utilisation des jetons et les coûts.
Le SDK CoreWeave Forge ne propose pas encore d’intégration Pi ; cette page utilise donc le SDK Weave. Les traces envoyées avec Weave apparaissent dans Agent Lens, car les deux produits partagent les mêmes données de trace.
Prérequis
- Node.js (v22.19 ou version ultérieure). Avec Node 20,
npminstalle une version antérieure de Pi qui prend encore en charge cette version de Node. - Un compte CoreWeave Forge et une clé API définie dans la variable d’environnement
WANDB_API_KEY.
Pi est un framework TypeScript et Node.js qui n’a pas d’équivalent Python. Pi nécessite le système de modules ESM. Votre projet doit utiliser
"type": "module" dans package.json, ou compiler le TypeScript en ESM. Les projets CommonJS provoquent une erreur. Pour plus d’informations sur la configuration d’un projet ESM, voir Intégration du SDK TypeScript.Installer les paquets
Installez Agent Lens, Pi et les définitions de types Node en tant que dépendances locales du projet :Tracer un prompt et une réponse Pi
L’exemple suivant présente la configuration minimale requise pour tracer un seul prompt et sa réponse Pi. Appelezinit() depuis le paquet weave avant de créer votre session d’agent, puis passez createOtelExtension() comme fabrique d’extension. Agent Lens trace l’intégralité du cycle de vie de l’agent : la conversation, chaque cycle prompt-réponse (invoke_agent), chaque appel LLM (chat) et chaque exécution d’outil (execute_tool). SessionManager.inMemory() génère automatiquement l’ID de session.
tsx, en remplaçant [FILENAME] par le nom de votre fichier TypeScript :
https://forge.coreweave.com/agent-lens/[YOUR-TEAM]/[YOUR-PROJECT]. Agent Lens capture les sessions Pi, les appels LLM et les exécutions d’outils à chaque run de votre application.
Étapes suivantes
Pour transformer cet exemple en conversation sur plusieurs tours, ajoutez d’autres prompts. Agent Lens trace chaque appel àsession.prompt() sous la forme d’un span invoke_agent distinct, tous imbriqués dans un même span racine. L’agent conserve automatiquement le contexte d’un prompt à l’autre.
Une fois le code exécuté, l’onglet Conversations affiche la chronologie complète sur plusieurs tours de conversation, avec les appels LLM imbriqués, les exécutions d’outils, l’utilisation des jetons et le coût.