Introduction au framework DSPy
Découvrez pourquoi DSPy remplace les prompts rédigés manuellement par des signatures déclaratives.
Introduction au framework DSPy est une leçon AI Prompt Engineering gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage AI Prompt Engineering, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours AI Prompt Engineering comprend 4 leçons au total.
La fragilité des invites écrites manuellement
Les invites conçues manuellement sont fragiles. Un simple changement de mot peut modifier considérablement le comportement du modèle, et ce qui fonctionne avec GPT-4 échoue souvent avec Claude ou Gemini.
Les ingénieurs des invites passent des heures à peaufiner la formulation, pour finalement constater que les changements ne se généralisent pas à différents jeux de données ou versions de modèles. Cette fragilité est le problème central que DSPy résout.
Qu'est-ce que DSPy
DSPy (Python déclaratif auto-améliorant) est un cadre conçu par Stanford qui traite la conception d'invites comme un problème de compilation plutôt que comme un travail de rédaction.
Au lieu d'écrire : "Think step by step and answer the following question...", vous déclarez ce que vous voulez (une signature), puis vous laissez DSPy déterminer comment inviter le modèle à l'obtenir.
Installer DSPy
DSPy est disponible sur PyPI. Installez-le et configurez une infrastructure dorsale de modèle de langage pour commencer.
pip install dspy-ai
# Basic setup in Python
import dspy
# Configure the language model
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)
print('DSPy configured successfully')Idée centrale : séparer la logique des invites
Avec les invites traditionnelles, la logique du programme et le texte de l'invite sont étroitement liés. Si vous voulez modifier la façon dont le modèle raisonne, vous réécrivez la chaîne de caractères de l'invite.
DSPy sépare ces aspects : vous écrivez la logique Python à l'aide de modules, et DSPy génère (et optimise) automatiquement le texte réel de l'invite lors d'une étape de compilation.
Signatures : déclarer l'intention
Une signature dans DSPy est une déclaration typée des entrées et des sorties. Elle décrit le quoi, et non le comment.
DSPy utilise la signature pour construire une invite appropriée au moment de la compilation — vous n'avez pas besoin de concevoir vous-même l'invite.
import dspy
# Declare: given a question, produce an answer
class SimpleQA(dspy.Signature):
"""Answer questions with short factual responses."""
question: str = dspy.InputField()
answer: str = dspy.OutputField(desc='A concise factual answer')
# DSPy turns this declaration into a real prompt automatically
print(SimpleQA.__doc__)Modules : blocs de raisonnement composables
DSPy fournit des modules qui mettent en œuvre des schémas de raisonnement courants. Vous les utilisez comme des couches PyTorch et les composez pour former des programmes plus vastes.
dspy.Predict— prédiction directedspy.ChainOfThought— ajoute des étapes de raisonnementdspy.ReAct— raisonnement et utilisation d'outils
import dspy
class SimpleQA(dspy.Signature):
"""Answer questions with short factual responses."""
question: str = dspy.InputField()
answer: str = dspy.OutputField()
# Three different module strategies for the same signature
predict_module = dspy.Predict(SimpleQA)
cot_module = dspy.ChainOfThought(SimpleQA)
# Call just like a function
result = predict_module(question='What is the capital of France?')
print(result.answer)Ce que fait la compilation
La compilation est le processus par lequel DSPy optimise les invites de votre programme à l'aide d'un ensemble d'entraînement et d'une fonction métrique.
Avant la compilation : DSPy utilise une invite par défaut élémentaire. Après la compilation : DSPy a trouvé des exemples en petit nombre, de meilleures instructions ou des démonstrations de raisonnement par étapes qui maximisent votre métrique. Les invites optimisées sont enregistrées et réutilisées au moment de l'inférence.
Un programme DSPy minimal
Voici un programme DSPy minimal complet : une signature, un module et un appel. Aucune chaîne d'invite n'est écrite nulle part.
import dspy
# 1. Configure LM
lm = dspy.LM('openai/gpt-4o-mini', api_key='sk-...')
dspy.configure(lm=lm)
# 2. Define signature
class Summarize(dspy.Signature):
"""Summarize text into one sentence."""
text: str = dspy.InputField()
summary: str = dspy.OutputField()
# 3. Create module
summarizer = dspy.Predict(Summarize)
# 4. Use it
result = summarizer(text='DSPy is a framework for programming language models.')
print(result.summary)DSPy par rapport à la conception traditionnelle d'invites
La différence philosophique essentielle :
- Traditionnel : vous écrivez le texte de l'invite → le modèle l'exécute → vous modifiez manuellement le texte
- DSPy : vous écrivez la logique Python → l'optimiseur trouve le meilleur texte d'invite → le modèle exécute l'invite optimisée
DSPy traite les invites comme des détails d'implémentation dont un compilateur doit s'occuper, tout comme un compilateur transforme Python en bytecode.
Quand DSPy en vaut la peine
DSPy est particulièrement efficace lorsque vous disposez des éléments suivants :
- Une métrique claire à optimiser (exactitude, F1, évaluation des utilisateurs)
- Un ensemble d'entraînement constitué d'exemples (même 20 à 50 peuvent suffire)
- Une chaîne de traitement comprenant plusieurs étapes de raisonnement qui interagissent
Pour des invites simples et ponctuelles, les coûts supplémentaires de DSPy ne valent pas la peine. Pour les chaînes de traitement de LLM en production avec des objectifs mesurables, DSPy est transformateur.
Présentation de l'écosystème DSPy
DSPy n'est pas qu'une simple enveloppe d'API : c'est un écosystème complet :
- Signatures : déclarer les entrées et sorties
- Modules : stratégies de raisonnement
- Optimiseurs : BootstrapFewShot, MIPRO, COPRO
- Evaluate : infrastructure d'évaluation intégrée
- Assertions : contraindre les sorties de manière déclarative
Vous découvrirez chacun de ces éléments dans les prochaines leçons de ce cours.
Vérification des connaissances : concept central de DSPy
De quelle manière principale DSPy diffère-t-il de la rédaction manuelle d'invites ?
Récapitulatif : fondements du cadre DSPy
DSPy s'attaque à la fragilité des invites écrites manuellement en traitant la conception d'invites comme un problème de compilation. Vous écrivez des signatures (déclarations typées d'entrées et de sorties) et vous les composez avec des modules comme Predict et ChainOfThought. Un optimiseur trouve ensuite automatiquement le meilleur texte d'invite à l'aide de vos données d'entraînement et de votre métrique. Le résultat est une chaîne de traitement d'invites portable, vérifiable et améliorable automatiquement, sans conception manuelle d'invites.
Questions Fréquemment Posées
La leçon « Introduction au framework DSPy » est-elle gratuite ?
Oui — le texte complet de « Introduction au framework DSPy » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours AI Prompt Engineering, passe à CoddyKit PRO. Le cours AI Prompt Engineering comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Introduction au framework DSPy » ?
Découvrez pourquoi DSPy remplace les prompts rédigés manuellement par des signatures déclaratives. Tu pratiques AI Prompt Engineering avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer AI Prompt Engineering ?
Aucune expérience préalable n'est requise. AI Prompt Engineering sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Introduction au framework DSPy » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon AI Prompt Engineering ?
Oui. Chaque leçon AI Prompt Engineering inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Introduction au framework DSPy
- Définir des signatures et des modules
- Compiler et optimiser les prompts
- Évaluer les pipelines DSPy