- Suivi automatique des appels de bibliothèques LLM.
- Suivi des fonctions personnalisées avec
weave.op. - Suivi manuel des Appels directement à l’aide de l’API.
Suivi automatique des Appels aux bibliothèques LLM
Weave s’intègre automatiquement à de nombreuses bibliothèques et frameworks courants, tels queopenai, anthropic, cohere, mistral et LangChain. Importez la bibliothèque LLM ou le framework, puis initialisez votre projet Weave. Weave trace ensuite automatiquement tous les Appels adressés au LLM ou à la plateforme dans votre projet, sans nécessiter de 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.
- Python
- TypeScript
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. Utilisez cette approche lorsque vous souhaitez que Weave capture vos propres fonctions en plus des Appels LLM qu’il trace automatiquement.- Python
- TypeScript
Weave vous permet de suivre manuellement ces Appels à l’aide du décorateur Vous pouvez également suivre les méthodes de classe.
@weave.op. Par exemple :Suivre les méthodes de classe et d’instance
En plus des fonctions autonomes, 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 avecweave.op.
- Python
- TypeScript
Tracer des appels de fonction parallèles (multithread)
Par défaut, les appels parallèles apparaissent tous dans Weave comme des appels racine distincts, ce qui rend la hiérarchie de trace difficile à suivre. Pour obtenir un imbriquement correct sous le même op parent, utilisez unThreadPoolExecutor.
- Python
- TypeScript
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.
Suivi manuel des appels
Si ni l’intégration automatique ni le décorateurweave.op ne conviennent à votre flux de travail, vous pouvez créer manuellement des appels directement via l’API. Cette approche vous donne un contrôle complet sur le moment où un appel commence et se termine, au prix de davantage de code standard.
- Python
- TypeScript
- HTTP API