Ceci est un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens suivants :
Importer des traces depuis des systèmes tiers
Ce notebook vous montre comment importer dans W&B Weave des traces de conversation historiques provenant d’un fichier CSV, afin de les analyser, de comparer le comportement des modèles et d’exécuter des évaluations sur des données générées en dehors d’une application instrumentée avec Weave. Il arrive que vous ne puissiez pas instrumenter votre code Python ou JavaScript avec l’intégration Weave pour obtenir des traces en temps réel de votre application d’IA générative. Souvent, ces traces ne sont disponibles qu’a posteriori, au format CSV ou JSON. Ce notebook utilise l’API Python de bas niveau de Weave pour extraire les données d’un fichier CSV et les importer dans Weave, afin que vous puissiez les analyser et les évaluer. Le dataset d’exemple utilisé dans ce guide pratique présente la structure suivante :conversation_id comme identifiant parent et turn_index comme identifiant enfant afin de fournir une journalisation complète des conversations.
Vous devez adapter les variables des sections suivantes à votre propre dataset, à vos chemins de fichiers et à votre projet Weights & Biases.
Configurer l’environnement
Installez et importez tous les paquets nécessaires. DéfinissezWANDB_API_KEY dans votre environnement afin de pouvoir vous connecter avec wandb.login() (fournissez cette clé à Colab sous forme de secret).
Indiquez dans name_of_file le nom du fichier que vous téléversez sur Colab, puis indiquez dans name_of_wandb_project le projet Weights & Biases dans lequel vous souhaitez journaliser les données.
name_of_wandb_project peut également être au format [TEAM_NAME]/[PROJECT_NAME] afin de spécifier l’équipe dans laquelle journaliser les traces.weave.init().
Charger les données
Une fois l’environnement prêt, vous pouvez charger les données CSV et les mettre en forme afin qu’elles correspondent à la structure parent-enfant attendue par Weave. Chargez les données dans un DataFrame pandas, puis triez-les parconversation_id et turn_index pour que les parents et les enfants soient dans le bon ordre.
Vous obtenez ainsi un DataFrame pandas à deux colonnes, dans lequel les tours de conversation figurent sous forme de tableau dans conversation_data.
Journaliser les traces vers Weave
Une fois les données structurées en conversations et en tours de conversation, l’étape suivante consiste à écrire ces enregistrements dans Weave sous forme d’Appels parents et enfants. Parcourez le DataFrame pandas :- Créez un Appel parent pour chaque
conversation_id. - Parcourez le tableau des tours de conversation pour créer des Appels enfants triés selon leur
turn_index.
- Un Appel Weave équivaut à une trace Weave. Cet Appel peut être associé à un parent ou à des enfants.
- D’autres éléments peuvent être associés à un Appel Weave, comme du feedback et des métadonnées. Cet exemple n’associe que des entrées et des sorties, mais vous pouvez ajouter ces autres éléments lors de votre importation si les données les fournissent.
- Un Appel Weave est
createdpuisfinished, car ces Appels sont conçus pour être suivis en temps réel. Comme il s’agit ici d’une importation a posteriori, vous créez et terminez les Appels une fois les objets définis et reliés entre eux. - La valeur
opd’un Appel permet à Weave de regrouper les Appels de même structure. Dans cet exemple, tous les Appels parents sont de typeConversationet tous les Appels enfants sont de typeTurn. Vous pouvez adapter ce choix selon vos besoins. - Un Appel peut avoir des
inputset unoutput. Lesinputssont définis à la création de l’Appel, et l’outputlorsque l’Appel se termine.
Résultat : traces journalisées vers Weave
À ce stade, vos données CSV ont été importées dans Weave. Vous pouvez désormais parcourir les conversations et leurs tours de conversation dans l’interface de Weights & Biases, regroupés sous les opérationsConversation et Turn que vous avez définies.
Traces :


Facultatif : exportez vos traces pour exécuter des évaluations
Une fois les traces dans Weave et la structure des conversations bien comprise, vous pouvez les exporter vers un autre processus pour exécuter des Weave Evaluations.
Résultat
Le dataset exporté est désormais republié dans Weave et peut servir d’entrée pour une évaluation.