DSPy : Définition et Exemples
DSPy est un framework Python développé par Stanford NLP qui permet de programmer et d'optimiser automatiquement les pipelines de modèles de langage (LLM) en remplaçant le prompt engineering manuel par une approche déclarative et compilée.
Définition complète
DSPy (Declarative Self-improving Python) est un framework open source créé par l'équipe Stanford NLP, conçu pour transformer la manière dont les développeurs interagissent avec les modèles de langage. Plutôt que d'écrire manuellement des prompts fragiles et difficiles à maintenir, DSPy propose une approche programmatique où l'on définit des signatures (entrées/sorties attendues) et des modules composables, puis le framework optimise automatiquement les prompts sous-jacents.
Le cœur de DSPy repose sur trois concepts fondamentaux : les signatures, qui décrivent ce qu'un module doit faire (par exemple "question -> réponse") ; les modules, qui encapsulent des stratégies de prompting comme ChainOfThought ou ReAct ; et les optimiseurs (anciennement appelés téléprompters), qui ajustent automatiquement les prompts et les exemples few-shot pour maximiser une métrique définie par l'utilisateur.
Concrètement, DSPy fonctionne comme un compilateur pour LLM : le développeur écrit un programme déclaratif en Python, fournit un jeu de données d'entraînement et une métrique d'évaluation, puis l'optimiseur explore différentes combinaisons de prompts, d'exemples et de stratégies pour trouver la configuration la plus performante. Cette approche élimine le besoin de tâtonner manuellement avec des formulations de prompts.
L'intérêt majeur de DSPy est sa modularité et sa portabilité. Un pipeline DSPy peut être transféré d'un modèle à un autre (par exemple de GPT-4 à Claude ou Llama) simplement en relançant l'optimisation, sans réécrire les prompts. Cela rend les applications LLM plus robustes, reproductibles et maintenables à long terme.
Étymologie
Le nom DSPy est un acronyme de "Declarative Self-improving Python". Il fait un clin d'œil à PyTorch et à l'idée de compiler des programmes de langage naturel de la même manière qu'on compile des réseaux de neurones. Le "D" souligne l'approche déclarative (on décrit quoi faire, pas comment), le "S" l'auto-amélioration via l'optimisation automatique, et "Py" l'ancrage dans l'écosystème Python.
Exemples concrets
Création d'un système de questions-réponses avec raisonnement en chaîne
class QA(dspy.Module):
def __init__(self):
self.generate = dspy.ChainOfThought('question -> answer')
def forward(self, question):
return self.generate(question=question)Optimisation automatique d'un pipeline RAG (Retrieval-Augmented Generation)
teleprompter = dspy.BootstrapFewShot(metric=exact_match) optimized_rag = teleprompter.compile(rag_pipeline, trainset=train_examples)
Remplacement d'un prompt manuel fragile par une signature déclarative portable entre modèles
Usage pratique
En prompt engineering, DSPy est particulièrement utile lorsque vous devez maintenir des pipelines LLM complexes en production. Au lieu de peaufiner manuellement chaque prompt, vous définissez vos modules et vos métriques de succès, puis laissez l'optimiseur trouver les meilleurs prompts. Adoptez DSPy quand vos prompts deviennent trop fragiles, que vous changez fréquemment de modèle, ou que vous avez besoin de résultats reproductibles et mesurables.
Concepts liés
FAQ
Quelle est la différence entre DSPy et le prompt engineering classique ?
Faut-il des connaissances en machine learning pour utiliser DSPy ?
DSPy fonctionne-t-il avec tous les modèles de langage ?
Voir aussi
Autres définitions
ElevenLabs : Définition et Exemples
ElevenLabs est une entreprise spécialisée dans la synthèse vocale par intelligence artificielle, capable de générer des voix réalistes et expressives à partir d
Embedding : Définition et Exemples
Un embedding est une représentation numérique d'un texte, d'une image ou d'un autre type de donnée sous forme de vecteur de nombres, permettant aux modèles d'IA
Emotional Prompting : Définition et Exemples
Technique de prompt engineering qui consiste à intégrer des éléments émotionnels dans les instructions données à un modèle d'IA pour améliorer la qualité et la
Encoder Decoder : Définition et Exemples
Architecture de réseau de neurones composée de deux modules complémentaires : un encodeur qui compresse l'entrée en une représentation intermédiaire, et un déco
F1 Score : Définition et Exemples
Le F1 Score est une métrique d'évaluation qui combine la précision et le rappel en une seule valeur, calculée comme leur moyenne harmonique. Il est particulière
FastText : Définition et Exemples
FastText est une bibliothèque open source développée par Facebook AI Research (FAIR) pour l'apprentissage de représentations vectorielles de mots et la classifi
Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter.