Passer au contenu principal
Pour afficher votre code en cours d’exécution sous forme de traces détaillées dans Weave, créez des appels. Vous pouvez procéder de trois façons principales :

1. Suivi automatique des appels de bibliothèques LLM

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

2. Suivi des fonctions personnalisées

Les applications LLM comportent souvent une logique supplémentaire (comme le prétraitement/post-traitement, les prompts, etc.) que vous souhaitez suivre.
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 classe.

Suivre les méthodes de classe et d’instance

Vous pouvez également suivre les méthodes de classe et d’instance. Vous pouvez suivre n’importe quelle méthode d’une classe en la décorant avec weave.op.

Tracer des appels de fonction parallèles (multithread)

Par défaut, les appels parallèles apparaissent tous dans Weave comme des appels racine distincts. Pour obtenir un imbriquement correct sous le même op parent, utilisez un ThreadPoolExecutor.
L’exemple de code suivant montre comment utiliser ThreadPoolExecutor. La première fonction, func, est un op simple qui prend x et renvoie x+1. La deuxième 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) signifie que chaque appel à func conserve le même contexte de trace parent.
Dans la Weave UI, cela produit un seul appel parent avec cinq appels enfants imbriqués, ce qui vous permet d’obtenir une trace entièrement hiérarchisée, même si les opérations d’incrémentation s’exécutent en parallèle. La Trace UI, montrant un seul appel parent pour outer, avec cinq appels enfants imbriqués.

3. Suivi manuel des appels

Vous pouvez également créer manuellement des appels directement via l’API.