Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

DSPy

DSPy est un framework open source qui construit des pipelines de LLM à partir de signatures typées et de modules, puis optimise leurs prompts en fonction d’une métrique.

DSPy est un framework Python open source permettant de créer des applications sur des grands modèles de langage (LLM) sous forme de code, plutôt qu’à l’aide d’invites rédigées à la main. Le développeur déclare les entrées et les sorties de chaque étape, compose ces étapes en un programme et laisse un optimiseur DSPy rédiger et ajuster les invites ou les poids du modèle afin de maximiser une métrique sur un ensemble d’exemples. Le nom signifie Declarative Self-improving Python, et le projet se présente comme un framework permettant de programmer les modèles de langage plutôt que de les solliciter par des invites. Omar Khattab et ses collègues de Stanford l’ont présenté dans l’article d’octobre 2023 DSPy : compiler des appels déclaratifs à des modèles de langage en pipelines auto-améliorables. En quelques minutes de compilation, quelques lignes de DSPy ont permis à GPT-3.5 et Llama-2-13B-chat de créer des pipelines qui dépassaient de plus de 25 % et 65 % respectivement le prompting standard few-shot, et jusqu’à 46 % et 40 % les pipelines utilisant des exemples rédigés par des experts.

Signatures, modules et optimiseurs#

  • Signatures : déclarations typées des entrées et sorties d’une étape, écrites en ligne sous la forme "question -> answer" ou dans une classe dont la docstring décrit la tâche. Elles indiquent le rôle de l’étape et laissent DSPy définir la formulation de l’invite.
  • Modules : stratégies d’exécution d’une signature. dspy.Predict appelle le modèle une fois, dspy.ChainOfThought ajoute un champ de raisonnement avant la réponse, comme dans le prompting par chaîne de raisonnement, et dspy.ReAct exécute une boucle utilisant des outils, à la manière du prompting ReAct. Les modules se composent comme des couches PyTorch pour former des programmes en plusieurs étapes, par exemple un pipeline de génération augmentée par récupération (RAG) qui rédige une requête de recherche, récupère des passages et formule une réponse à partir de ceux-ci.
  • Adaptateurs : convertissent une signature en messages de chat pour le modèle et analysent sa réponse pour la convertir en champs typés.
  • Optimiseurs : algorithmes qui améliorent un programme en fonction d’une métrique. BootstrapFewShot exécute le programme sur des exemples d’entraînement et conserve comme démonstrations les traces qui satisfont la métrique ; MIPROv2 explore les instructions proposées et les ensembles de démonstrations ; BootstrapFinetune distille un programme dans les poids du modèle par ajustement fin.

La boucle d’optimisation reprend celle de l’entraînement d’un modèle, les invites jouant le rôle de paramètres :

L’optimiseur GEPA de 2025, disponible sous la forme dspy.GEPA, analyse les traces d’exécution du programme et les retours textuels, demande à un LLM de réfléchir aux erreurs, puis fait évoluer les instructions. Sur six tâches, il a dépassé de 6 % en moyenne et jusqu’à 20 % la méthode d’apprentissage par renforcement GRPO, tout en utilisant jusqu’à 35 fois moins de déroulements, et a dépassé MIPROv2 de plus de 10 %.

De la signature à l’invite#

DSPy génère l’invite à partir de la signature ; un même programme peut donc être réoptimisé pour un nouveau modèle plutôt que réécrit. Ici, l’entrée est un résumé des détections d’Ultralytics YOLO26 : Results.verbose() renvoie un résultat en mode predict sous forme de chaîne courte contenant le nombre de détections par classe. Une signature peut prendre ce résultat comme texte, afin qu’un optimiseur règle l’étape de raisonnement à partir de vraies sorties de détection d’objets. La mise en forme des messages ne nécessite ni modèle ni clé API :

import dspy
from ultralytics import YOLO

model = YOLO("yolo26n.pt")
results = model("https://ultralytics.com/images/bus.jpg")


class SceneQA(dspy.Signature):
    """Answer a question about a photo from the objects a detector found in it."""

    detections: str = dspy.InputField()
    question: str = dspy.InputField()
    answer: str = dspy.OutputField()


# The adapter turns the signature and inputs into the chat messages the model will receive
inputs = {"detections": results[0].verbose(), "question": "How many people are in the photo?"}
messages = dspy.ChatAdapter().format(SceneQA, demos=[], inputs=inputs)
for message in messages:
    print(f"--- {message['role']} ---\n{message['content']}")

Le message système énumère les champs d’entrée et de sortie, les marqueurs [[ ## field ## ]] utilisés par DSPy pour analyser la réponse, ainsi que l’objectif indiqué dans la docstring ; le message utilisateur contient le décompte du détecteur. Un optimiseur améliore ce programme en reformulant cet objectif et en ajoutant des démonstrations aux messages, sans modifier le code Python.

  • Ingénierie des invites : rédaction et révision manuelles des invites. DSPy transforme ce travail en problème d’optimisation défini par une métrique et des exemples.
  • LangChain : framework d’intégrations, d’outils et de boucles d’agents permettant de composer des applications LLM, dont les invites sont gérées par le développeur.
  • Réglage des hyperparamètres : recherche des paramètres d’entraînement en fonction d’une métrique de validation ; c’est l’analogie la plus proche de la recherche d’invites par DSPy.
  • Systèmes d’IA composés : applications composées de plusieurs appels de modèle, systèmes de recherche d’information et outils. DSPy a été conçu pour optimiser ces pipelines de bout en bout, en réglant l’invite de chaque étape en fonction de la métrique finale.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique