Il s’agit d’un notebook interactif. Vous pouvez l’exécuter localement ou utiliser les liens ci-dessous :
Synthèse avec Chain of Density

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 ?
- Suivre votre pipeline LLM : utilisez Weave pour consigner 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 rigoureuses et directement comparables de vos synthèses à l’aide des outils intégrés de Weave.
- Créer des opérations composables : combinez et réutilisez les opérations Weave dans les différentes parties de votre pipeline de synthèse.
- Intégrer facilement : ajoutez Weave à votre code Python existant avec une surcharge minimale.
Configurer l’environnement
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 notre tâche de synthèse.
Définissez le modèle ArxivPaper
ArxivPaper pour représenter nos données :
Charger le contenu du PDF
Implémenter la synthèse Chain of Density

summarize_current_summary: génère une seule 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(), nous nous assurons que Weave assure le suivi des entrées, des sorties et de l’exécution de ces fonctions.
Créer un modèle Weave

ArxivChainOfDensityPipeline encapsule notre 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 permettent de reproduire facilement 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.Modelpermet une intégration fluide avec d’autres outils Weave, comme les évaluations et les fonctionnalités de serving.
Implémenter des métriques d’évaluation
Créez un jeu de données Weave et lancez une évaluation


Conclusion
- Créer des opérations Weave pour chaque étape du processus de synthèse
- Encapsuler le pipeline dans un modèle Weave afin de faciliter le suivi et l’évaluation
- Mettre en œuvre des métriques d’évaluation personnalisées à l’aide des opérations Weave
- Créer un jeu de données et exécuter une évaluation du pipeline