Il s’agit d’un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens ci-dessous :
Intégrer 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 extension de la vue Traces dans 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 retours des utilisateurs, au-delà de ce que fournit la vue Traces par défaut. Ce notebook se concentre sur :- La récupération des traces, des coûts, du feedback et d’autres métriques depuis Weave.
- La création de vues agrégées pour le feedback des utilisateurs et la répartition des coûts.
- La création de visualisations de l’utilisation des jetons et de la latence au fil du temps.
streamlit et en exécutant le script du tableau de bord de production.
Configuration
Pour commencer, installez les packages suivants :Implémentation
Les sections suivantes expliquent comment initialiser le client Weave, récupérer les données d’appel et générer des visualisations pour le tableau de bord.Initialiser le client Weave et définir les coûts
Commencez par configurer une fonction pour initialiser le client Weave et ajouter des coûts pour chaque modèle. Cette étape est requise pour que les requêtes de coût en aval puissent attribuer une tarification par jeton à chaque appel. W&B inclut les coûts standard pour de nombreux modèles et vous permet également d’ajouter vos propres coûts personnalisés ainsi que des 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 aussi renvoyer un nombre de jetons personnalisé 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é, voir le cookbook sur les coûts personnalisés.Récupérer les données d’appels dans Weave
Le client étant initialisé et les coûts configurés, l’étape suivante consiste à récupérer les données d’appels dans 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 par appel
La première option pour accéder aux données dans Weave consiste à récupérer une liste d’appels filtrés et à extraire les données souhaitées appel par appel. Pour ce faire, utilisez l’APIcalls_query_stream pour récupérer les données d’appels depuis Weave :
- API
calls_query_stream: cette API récupère les données d’appels depuis Weave. - dictionnaire
filter: ce dictionnaire contient les paramètres de filtre pour récupérer les données d’appels. Voir la référence CallSchema pour plus de détails. - liste
expand_columns: cette liste contient les colonnes à étendre dans les données d’appels. - liste
sort_by: cette liste contient les paramètres de tri des données d’appels. - booléen
include_costs: ce booléen indique s’il faut inclure les coûts dans les données d’appels. - booléen
include_feedback: ce booléen indique s’il faut inclure le feedback dans les données d’appels.
Utilisez des API de haut niveau
Au lieu de passer en revue chaque appel, Weave fournit aussi des API de haut niveau pour accéder directement aux coûts des modèles, au feedback et à d’autres métriques. Par exemple, pour le coût, utilisez l’APIquery_costs pour récupérer les coûts de tous les LLM utilisés dans le projet :
Rassemblez les données d’entrée et générez des visualisations
Avec les données d’appel et les coûts disponibles sous forme de DataFrames, vous pouvez générer des visualisations à l’aide de plotly. Il s’agit d’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 de monitoring en production personnalisé à l’aide des API et des fonctions de Weave. Weave met l’accent sur des intégrations rapides afin de simplifier à la fois l’ingestion des données et leur extraction pour des processus personnalisés.- Entrée des données :
- Tracing indépendant du framework avec le décorateur
@weave-op()et la possibilité d’importer des appels depuis un fichier CSV (voir le cookbook d’import associé). - Points de terminaison de l’API de service pour enregistrer dans Weave depuis différents frameworks et langages de programmation. Voir la référence de l’API de service pour plus de détails.
- Tracing 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. Voir la référence de l’API de service pour plus de détails.
- Exportez-les via un accès programmatique aux données. Voir la section « Use Python » dans le panneau d’export, comme décrit dans ce cookbook. Voir Interroger et exporter des appels pour plus de détails.