Tutoriel

Statut éditorial : En attente de relecture

Créer un programme LLM avec les signatures et modules DSPy

Définir des entrées et sorties typées, choisir un module d’exécution et tester un premier programme DSPy en Python.

Classification du contenu

Types

  • Intelligence artificielle
  • outils

Technologies

Niveau
Intermédiaire
Prochaine vérification
18 novembre 2026

DSPy propose de décrire une tâche par son contrat plutôt que par une longue chaîne de prompt. Une signature définit les entrées et sorties attendues ; un module choisit comment le modèle produit ces sorties. Le même contrat peut ainsi passer d’une prédiction directe à une stratégie avec raisonnement sans réécrire toute l’application.

Installer et configurer DSPy

python -m venv .venv
source .venv/bin/activate
pip install -U dspy
export OPENAI_API_KEY="votre-cle"

Configurez ensuite le modèle. Adaptez son identifiant au fournisseur réellement utilisé et verrouillez la version de DSPy dans votre projet.

import dspy

dspy.configure(lm=dspy.LM("openai/gpt-5-mini"))

Définir une signature

La signature exprime le résultat attendu avec des champs typés :

from typing import Literal
import dspy

class TriageTicket(dspy.Signature):
    "Classe un ticket de support."
    ticket: str = dspy.InputField()
    urgence: Literal["faible", "haute"] = dspy.OutputField()
    equipe: str = dspy.OutputField()

triage = dspy.Predict(TriageTicket)
resultat = triage(ticket="Le paiement est débité deux fois.")
print(resultat.urgence, resultat.equipe)

Le docstring fournit l’intention générale. Les noms, types et descriptions des champs forment le contrat. Validez néanmoins la sortie côté application avant de déclencher une action métier.

Changer de stratégie

Pour demander une démarche de raisonnement plus riche, remplacez Predict par ChainOfThought :

triage = dspy.ChainOfThought(TriageTicket)

Le reste de l’application conserve la même interface. DSPy fournit également des modules pour les outils, la récupération et la composition de plusieurs étapes.

Évaluer avant d’optimiser

Préparez des tickets anonymisés avec les réponses attendues. Mesurez séparément l’urgence et l’équipe attribuée, ainsi que le taux de sorties invalides. Cette base permet ensuite d’utiliser un optimiseur DSPy.

Ne confondez pas typage et garantie métier : un modèle peut toujours produire une réponse incorrecte. Ajoutez des règles déterministes pour les situations critiques, journalisez la version du programme et testez tout changement de modèle sur le même jeu d’évaluation.

Sources utilisées