Passer au contenu principal
Ce tutoriel vous montre comment tracer des fonctions imbriquées dans Weave afin de pouvoir surveiller le flux d’exécution complet d’une application basée sur un LLM, y compris ses sous-fonctions et leurs relations parent-enfant. À la fin, vous saurez capturer, visualiser et ajouter des métadonnées à des traces imbriquées dans la page Traces de Weave. Les applications basées sur des LLM peuvent contenir plusieurs appels LLM, des traitements de données supplémentaires et une logique de validation qu’il est important de surveiller. Vous pouvez suivre ces fonctions imbriquées et leurs relations parent-enfant dans Weave à l’aide du décorateur @weave.op() (Python), ou les encapsuler avec weave.op() (TypeScript). Décorez les fonctions et sous-fonctions avec le niveau de granularité le plus fin possible afin de capturer le flux d’exécution complet de l’application. Cela vous aide à mieux comprendre et orienter le comportement de votre application.

Tracer des fonctions imbriquées

Cette section présente pas à pas un exemple qui trace une fonction et ses sous-fonctions imbriquées. Le code suivant s’appuie sur l’exemple de démarrage rapide et ajoute une logique pour compter les éléments renvoyés par le LLM et les encapsuler dans une fonction de plus haut niveau. De plus, l’exemple utilise weave.op() pour tracer chaque fonction, son ordre d’appel et sa relation parent-enfant :
Fonctions imbriquéesLorsque vous exécutez le code ci-dessus, la page Traces affiche les entrées et les sorties des deux fonctions imbriquées (extract_dinos et count_dinos), ainsi que la trace OpenAI enregistrée automatiquement.Page Traces de Weave avec fonctions imbriquées, montrant le panneau central de l'arborescence de trace et le panneau de détails pour l'Appel sélectionné
Après avoir exécuté le code, vous disposez dans Weave d’une trace imbriquée complète qui capture chaque appel de fonction et sa relation avec les autres.

Suivre les métadonnées

Maintenant que Weave trace vos fonctions imbriquées, vous pouvez enrichir ces traces avec un contexte supplémentaire sur l’exécution, comme l’utilisateur ou l’environnement. Vous pouvez suivre les métadonnées à l’aide du gestionnaire de contexte weave.attributes, en lui passant un dictionnaire des métadonnées à suivre au moment de l’appel. En reprenant l’exemple précédent :
Suivez les métadonnées au moment de l’exécution, comme vos ID utilisateur et l’environnement de votre code (développement, préproduction ou production).Pour suivre les paramètres système, comme un prompt système, utilisez Weave Models.
Pour plus d’informations sur l’utilisation des attributs, voir Définir et journaliser des attributs.

Et ensuite