Ceci est un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens ci-dessous :
Intégrer avec Weave : tableau de bord de production
Ce notebook montre comment utiliser les API et les fonctions de Weave pour créer un tableau de bord personnalisé de monitoring en production, en complément de la vue Traces de Weave. Ce guide s’adresse aux développeurs et aux ingénieurs ML qui exécutent des applications LLM en production et souhaitent une visibilité sur mesure sur les performances, les coûts et les feedbacks des utilisateurs, au-delà de ce que propose la vue Traces par défaut. Ce notebook aborde les points suivants :- Récupérer depuis Weave les traces, les coûts, les feedbacks et d’autres métriques.
- Créer des vues agrégées des feedbacks des utilisateurs et de la répartition des coûts.
- Créer des visualisations de l’évolution de l’utilisation des jetons et de la latence dans le temps.
streamlit et en exécutant le script du tableau de bord de production.
Configuration
Pour commencer, installez les paquets suivants :Implémentation
Les sections suivantes expliquent comment initialiser le client Weave, récupérer les données des appels et générer les visualisations du tableau de bord.Initialiser le client Weave et définir les coûts
Commencez par configurer une fonction qui initialise le client Weave et ajoute les coûts de chaque modèle. Cette étape est requise pour que les requêtes de coûts en aval puissent associer une tarification par jeton à chaque appel. W&B inclut les coûts standard de nombreux modèles courants et vous permet également d’ajouter vos propres coûts et modèles personnalisés. L’exemple suivant montre comment ajouter des coûts personnalisés pour quelques modèles et utiliser les coûts standard pour les autres. Les coûts sont calculés à partir des jetons suivis pour chaque appel dans Weave. Pour de nombreuses bibliothèques de fournisseurs de LLM, Weave suit automatiquement l’utilisation des jetons, mais vous pouvez également renvoyer vos propres nombres de jetons pour n’importe quel appel. Pour en savoir plus sur la définition du nombre de jetons et le calcul des coûts pour un modèle personnalisé, consultez le cookbook sur les coûts personnalisés.Récupérer les données des appels depuis Weave
Une fois le client initialisé et les coûts configurés, l’étape suivante consiste à récupérer les données des appels depuis Weave. Deux options s’offrent à vous pour récupérer ces données :- Récupérer les données appel par appel.
- Utiliser des API de haut niveau.
Récupérer les données appel par appel
La première méthode pour accéder aux données de Weave consiste à récupérer une liste d’appels filtrés, puis à extraire les données souhaitées appel par appel. Pour ce faire, utilisez l’APIcalls_query_stream afin de récupérer les données des appels depuis Weave :
- API
calls_query_stream: cette API récupère les données des appels depuis Weave. - Dictionnaire
filter: ce dictionnaire contient les paramètres de filtrage utilisés pour récupérer les données des appels. Pour plus de détails, voir la référence CallSchema. - Liste
expand_columns: cette liste contient les colonnes à développer dans les données des appels. - Liste
sort_by: cette liste contient les paramètres de tri des données des appels. - Booléen
include_costs: ce booléen indique si les coûts doivent être inclus dans les données des appels. - Booléen
include_feedback: ce booléen indique si le feedback doit être inclus dans les données des appels.
Utiliser les API de haut niveau
Plutôt que de parcourir chaque appel un par un, Weave fournit également des API de haut niveau qui permettent d’accéder directement aux coûts des modèles, au feedback et à d’autres métriques. Par exemple, pour les coûts, utilisez l’APIquery_costs pour récupérer les coûts de tous les LLM utilisés dans le projet :
Collecter les entrées et générer les visualisations
Une fois les données d’appels et les coûts disponibles sous forme de DataFrames, vous pouvez générer les visualisations avec plotly. Voici un tableau de bord de base, que vous pouvez personnaliser à votre guise. Pour un exemple plus avancé, consultez l’exemple Streamlit du dépôt knowledge-worker-weave.Conclusion
Ce cookbook a montré comment créer un tableau de bord personnalisé de monitoring en production à l’aide des API et des fonctions de Weave. Weave mise sur des intégrations rapides, qui simplifient aussi bien l’ingestion des données que leur extraction pour des traitements personnalisés.- Entrée des données :
- Traçage indépendant du framework avec le décorateur
@weave-op()et possibilité d’importer des appels depuis un fichier CSV (voir le cookbook d’importation associé). - Points de terminaison de l’API de service pour journaliser vers Weave depuis différents frameworks et langages de programmation. Pour plus de détails, consultez la référence de l’API de service.
- Traçage indépendant du framework avec le décorateur
- Sortie des données :
- Téléchargez les données aux formats CSV, TSV, JSONL ou JSON. Pour plus de détails, consultez la référence de l’API de service.
- Exportez les données par programmation. Consultez la section « Use Python » du panneau d’exportation, comme décrit dans ce cookbook. Pour plus de détails, consultez Interroger et exporter des appels.