Passer au contenu principal
Ouvrir dans Colab Instructor est une bibliothèque légère qui facilite l’obtention de données structurées, comme du JSON, à partir de LLM. Ce guide vous montre comment suivre les appels Instructor avec Weave afin de déboguer l’extraction structurée, de capturer la validation Pydantic et d’inspecter le mécanisme de nouvelle tentative.

Tracing

Il est important de stocker les traces des applications de modèles de langage dans un emplacement centralisé, aussi bien pendant le développement qu’en production. Ces traces peuvent être utiles pour le débogage, ainsi que servir de jeu de données pour vous aider à améliorer votre application. Weave capture automatiquement les traces pour Instructor. Pour commencer le suivi, appelez weave.init(project_name="[YOUR-WANDB-PROJECT-NAME]"), puis utilisez la bibliothèque normalement.

Suivez vos propres ops

En décorant une fonction avec @weave.op, vous commencez à capturer les entrées, les sorties et la logique de l’application afin de pouvoir déboguer la façon dont les données circulent dans votre application. Vous pouvez imbriquer des ops en profondeur et construire un arbre de fonctions que vous souhaitez suivre. Cela lance également automatiquement la gestion des versions du code à mesure que vous expérimentez, en capturant des détails ad hoc qui n’ont pas été commités dans git. Créez une fonction décorée avec @weave.op. Dans l’exemple suivant, la fonction extract_person est la fonction de métrique encapsulée avec @weave.op. Cela vous permet de voir les étapes intermédiaires, comme l’appel de complétion de chat d’OpenAI.

Créer un Model pour faciliter l’expérimentation

Il est difficile d’organiser l’expérimentation lorsqu’il y a de nombreux éléments à prendre en compte. En utilisant la classe Model, vous pouvez capturer et organiser les détails expérimentaux de votre application, comme le prompt système ou le modèle que vous utilisez. Cela facilite l’organisation et la comparaison des différentes itérations de votre application. En plus de la gestion des versions du code et de la capture des entrées et des sorties, les Models capturent des paramètres structurés qui contrôlent le comportement de votre application, afin de vous permettre de trouver les paramètres les plus efficaces. Vous pouvez également utiliser les modèles Weave avec serve et les Evaluations. Dans l’exemple suivant, vous pouvez expérimenter avec PersonExtractor. Chaque fois que vous modifiez l’un de ces éléments, vous obtenez une nouvelle version de PersonExtractor.

Servir un Weave Model

Après avoir enregistré un weave.Model, vous pouvez le servir comme point de terminaison FastAPI pour le tester en dehors du notebook ou l’intégrer à d’autres applications. À partir d’une référence Weave vers un objet weave.Model, vous pouvez lancer un serveur FastAPI et le serve. Pour servir votre modèle, exécutez la commande suivante dans votre terminal :