Skip to main content
Ce guide explique comment instrumenter votre application afin que son exécution apparaisse sous forme de traces détaillées dans W&B Weave. Les traces vous aident à déboguer, évaluer et surveiller du code reposant sur des LLM : elles capturent les entrées, les sorties et la structure de chaque opération sous forme d’Appel. Pour visualiser l’exécution de votre code sous forme de traces détaillées dans Weave, vous devez créer des Appels. Les sections suivantes décrivent les trois principales méthodes pour y parvenir, de la plus automatique à la plus manuelle :
  • Suivi automatique des appels aux bibliothèques de LLM.
  • Suivi des fonctions personnalisées avec weave.op.
  • Suivi manuel des Appels directement à l’aide de l’API.
Choisissez l’approche adaptée au niveau de contrôle dont vous avez besoin sur ce qui est tracé.

Suivi automatique des appels aux bibliothèques LLM

Weave s’intègre automatiquement à de nombreux frameworks et bibliothèques courants, tels que openai, anthropic, cohere, mistral et LangChain. Importez la bibliothèque LLM ou le framework, puis initialisez votre projet Weave. Weave trace alors automatiquement dans votre projet tous les appels effectués vers le LLM ou la plateforme, sans aucune autre modification du code. Pour obtenir la liste complète des intégrations de bibliothèques prises en charge, consultez Aperçu des intégrations.
Pour mieux contrôler ce comportement automatique, consultez Configurer le suivi automatique des appels LLM.

Suivre des fonctions personnalisées

Les applications LLM comportent souvent une logique supplémentaire que vous souhaitez suivre : prétraitement et post-traitement, prompts, etc. Utilisez cette approche lorsque vous voulez que Weave capture vos propres fonctions en plus des appels LLM qu’il trace automatiquement.
Weave vous permet de suivre manuellement ces appels à l’aide du décorateur @weave.op. Par exemple :
Vous pouvez également suivre les méthodes de classes.

Suivre les méthodes de classe et d’objet

Outre les fonctions autonomes, vous pouvez suivre les méthodes de classe et d’objet. Pour suivre n’importe quelle méthode d’une classe, décorez-la avec weave.op.

Tracer les appels de fonctions parallèles (multithread)

Par défaut, les appels parallèles apparaissent tous dans Weave comme des appels racines distincts, ce qui rend la hiérarchie de la trace difficile à suivre. Pour les imbriquer correctement sous le même op parent, utilisez un ThreadPoolExecutor.
L’exemple de code suivant illustre l’utilisation de ThreadPoolExecutor. La première fonction, func, est un op simple qui prend x et renvoie x+1. La seconde fonction, outer, est un autre op qui accepte une liste d’entrées. Dans outer, l’utilisation de ThreadPoolExecutor et de exc.map(func, inputs) garantit que chaque appel à func conserve le même contexte de la trace parente.
Dans l’interface de Weights & Biases, vous obtenez ainsi un seul appel parent comportant cinq appels enfants imbriqués. La trace est entièrement hiérarchique, même si les incréments s’exécutent en parallèle. L’interface Trace, montrant un seul appel parent pour outer, avec cinq appels enfants imbriqués.

Suivi manuel des appels

Si ni l’intégration automatique ni le décorateur weave.op ne conviennent à votre flux de travail, vous pouvez créer manuellement des appels directement à l’aide de l’API. Cette approche vous offre un contrôle complet sur le début et la fin d’un appel, au prix d’un code répétitif plus abondant.
Dernière modification le 30 septembre 2026