Il s’agit d’un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens ci-dessous :

Qu’est-ce que la synthèse par Chain of Density
- Commencer par une synthèse initiale
- Affiner la synthèse de manière itérative pour la rendre plus concise tout en préservant les informations clés
- Augmenter la densité des entités et des détails techniques à chaque itération
Pourquoi utiliser Weave
Dans ce tutoriel, vous utiliserez Weave pour mettre en œuvre et évaluer un pipeline de synthèse Chain of Density pour des articles ArXiv. Vous apprendrez à :- Suivre votre pipeline LLM : utilisez Weave pour enregistrer automatiquement les entrées, les sorties et les étapes intermédiaires de votre processus de synthèse.
- Évaluer les sorties du LLM : créez des évaluations cohérentes de vos synthèses à l’aide des outils intégrés de Weave.
- Créer des opérations composables : combinez et réutilisez des opérations Weave dans différentes parties de votre pipeline de synthèse.
- Intégrer à du code existant : ajoutez Weave à votre code Python existant avec un minimum de surcharge.
Configurer l’environnement
Tout d’abord, configurez l’environnement et importez les bibliothèques nécessaires. Cette étape installe les dépendances nécessaires au pipeline, notamment Weave pour le suivi, Anthropic pour le LLM et PyPDF2 pour lire les PDF d’ArXiv.Pour obtenir une clé API Anthropic :
- Inscrivez-vous et créez un compte sur https://www.anthropic.com.
- Accédez à la section API dans les paramètres de votre compte.
- Générez une nouvelle clé API.
- Stockez la clé API de façon sécurisée dans votre fichier
.env.
weave.init([PROJECT_NAME]) initialise un nouveau projet Weave pour la tâche de synthèse.
Définir le modèle ArxivPaper
Une fois l’environnement prêt, l’étape suivante consiste à définir la structure de données sur laquelle le pipeline opère. Créez une classeArxivPaper pour représenter les données :
Charger le contenu du PDF
Le modèleArxivPaper contient des métadonnées et l’URL d’un PDF, mais le pipeline de synthèse a besoin du texte complet de l’article. Pour utiliser le contenu complet de l’article, ajoutez une fonction permettant de charger et d’extraire le texte des PDF :
Implémenter la synthèse par Chain of Density
Implémentez maintenant la logique centrale de la synthèse CoD à l’aide des opérations Weave :
summarize_current_summary: génère une unique itération de synthèse à partir de l’état actuel.iterative_density_summarization: applique la technique CoD en appelantsummarize_current_summaryplusieurs fois.chain_of_density_summarization: orchestre l’ensemble du processus de synthèse et renvoie les résultats.
@weave.op() permettent à Weave de suivre les entrées, les sorties et l’exécution de ces fonctions.
Créer un modèle Weave
Une fois les fonctions de synthèse en place, l’étape suivante consiste à les empaqueter sous la forme d’un modèle Weave afin que les exécutions, les paramètres et les versions soient suivis ensemble. Encapsulons maintenant notre pipeline de synthèse dans un modèle Weave :
ArxivChainOfDensityPipeline encapsule la logique de synthèse sous la forme d’un modèle Weave, avec plusieurs avantages clés :
- Suivi automatique des expériences : Weave capture les entrées, les sorties et les paramètres de chaque exécution du modèle.
- Gestion des versions : Les modifications apportées aux attributs ou au code du modèle sont automatiquement versionnées, ce qui crée un historique clair de l’évolution de votre pipeline de synthèse au fil du temps.
- Reproductibilité : La gestion des versions et le suivi vous permettent de reproduire tout résultat ou toute configuration antérieurs de votre pipeline de synthèse.
- Gestion des hyperparamètres : Les attributs du modèle (comme
modeletdensity_iterations) sont clairement définis et suivis d’une exécution à l’autre, ce qui facilite l’expérimentation. - Intégration avec l’écosystème Weave : L’utilisation de
weave.Modelfonctionne avec d’autres outils Weave, comme les évaluations et les fonctionnalités de serving.
Implémenter des métriques d’évaluation
Maintenant que le pipeline produit des résumés, vous avez besoin d’un moyen de mesurer systématiquement leur qualité. Pour évaluer la qualité des résumés, mettez en œuvre des métriques d’évaluation simples :Créer un dataset Weave et lancer l’évaluation
Maintenant que la fonction de score est définie, la dernière étape consiste à l’appliquer à des exemples d’entrée et à lancer l’évaluation. Pour évaluer le pipeline, créez un dataset Weave et lancez une évaluation :

Conclusion
Cet exemple a montré comment mettre en place un pipeline de synthèse Chain of Density pour des articles ArXiv avec Weave. Vous avez appris à :- Créer des opérations Weave pour chaque étape du processus de synthèse
- Encapsuler le pipeline dans un modèle Weave pour le suivi et l’évaluation
- Mettre en œuvre des métriques d’évaluation personnalisées à l’aide des opérations Weave
- Créer un dataset et exécuter une évaluation du pipeline