createOtelExtension, conforme aux conventions sémantiques GenAI. Cette page explique comment activer le traçage Weave 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.
Prérequis
- Node.js (v18 ou version ultérieure).
- 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 en 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 génèrent une erreur. Pour en savoir plus sur la configuration d’un projet ESM, consultez Intégration du SDK TypeScript.Installer les packages
Installez Weave, 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 avec Pi. Appelezweave.init() avant de créer votre session d’agent, puis passez createOtelExtension() comme fabrique d’extensions. Weave trace le cycle de vie complet 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/wandb/[YOUR-TEAM]/[YOUR-PROJECT]/weave/agents. Weave capture les sessions Pi, les appels LLM et les exécutions d’outils pour chaque run de votre application.
Étapes suivantes
Pour transformer cet exemple en conversation sur plusieurs tours, ajoutez d’autres prompts. Weave 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.
Après l’exécution du code, l’onglet Agents affiche la chronologie complète de tous les tours de conversation, avec les appels LLM imbriqués, les exécutions d’outils, l’utilisation des jetons et le coût.