Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

DSPy

DSPy es un framework de código abierto que crea canalizaciones de LLM a partir de firmas tipadas y módulos, y después optimiza sus prompts según una métrica.

DSPy es un framework de código abierto para Python que permite crear aplicaciones sobre modelos de lenguaje grandes (LLM) mediante código, en lugar de escribir las instrucciones a mano. El desarrollador declara qué recibe y qué devuelve cada paso, combina los pasos en un programa y permite que un optimizador de DSPy escriba y ajuste las instrucciones o los pesos del modelo para maximizar una métrica en un conjunto de ejemplos. El nombre significa Python declarativo que se mejora a sí mismo, y el proyecto se describe como el framework para programar modelos de lenguaje, no para darles instrucciones. Omar Khattab y sus colegas de Stanford lo presentaron en el artículo de octubre de 2023 DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines. En cuestión de minutos, unas pocas líneas de DSPy bastaron para que GPT-3.5 y Llama-2-13B-chat crearan flujos que superaban en más del 25 % y el 65 %, respectivamente, las instrucciones de pocos ejemplos estándar, y en hasta un 46 % y un 40 % los flujos que usaban ejemplos redactados por expertos.

Firmas, módulos y optimizadores#

  • Firmas: declaraciones tipadas de las entradas y salidas de un paso, escritas en línea como "question -> answer" o como una clase cuya cadena de documentación describe la tarea. Indican qué hace un paso y dejan que DSPy decida cómo redactar las instrucciones.
  • Módulos: estrategias para ejecutar una firma. dspy.Predict llama al modelo una vez; dspy.ChainOfThought añade un campo de razonamiento antes de la respuesta, como en la generación de cadenas de pensamiento; y dspy.ReAct ejecuta un bucle que usa herramientas, al estilo de las instrucciones ReAct. Los módulos se combinan como las capas de PyTorch para crear programas de varios pasos, como un flujo de generación aumentada por recuperación (RAG) que redacta una consulta de búsqueda, recupera pasajes y responde a partir de ellos.
  • Adaptadores: convierten una firma en mensajes de chat para el modelo y analizan su respuesta para devolver campos tipados.
  • Optimizadores: algoritmos que mejoran un programa según una métrica. BootstrapFewShot ejecuta el programa con ejemplos de entrenamiento y conserva como demostraciones las trazas que superan la métrica; MIPROv2 busca entre las instrucciones y los conjuntos de demostraciones propuestos; y BootstrapFinetune destila un programa en los pesos del modelo mediante ajuste fino.

El bucle de optimización refleja el entrenamiento de un modelo, con las instrucciones como parámetros:

El optimizador GEPA de 2025, disponible como dspy.GEPA, lee las trazas de ejecución del programa y los comentarios textuales, pide a un LLM que analice qué ha fallado y, a partir de ahí, evoluciona las instrucciones. En seis tareas, superó en un 6 % de media y hasta en un 20 % al método de aprendizaje por refuerzo GRPO, usando hasta 35 veces menos ejecuciones, y superó a MIPROv2 en más de un 10 %.

De la firma a las instrucciones#

DSPy genera las instrucciones a partir de la firma, por lo que el mismo programa se puede volver a optimizar para un modelo nuevo en lugar de reescribirlo. En este caso, la entrada es un resumen de detecciones de Ultralytics YOLO26: Results.verbose() devuelve un resultado del modo de predicción con el recuento por clase en una cadena breve, que una firma puede recibir como texto para que un optimizador ajuste el paso de razonamiento a partir de resultados reales de detección de objetos. No hace falta ningún modelo ni clave de API para dar formato a los mensajes:

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']}")

El mensaje del sistema enumera los campos de entrada y salida, los marcadores [[ ## field ## ]] que DSPy usa para analizar la respuesta y la cadena de documentación, que define el objetivo; el mensaje del usuario contiene los recuentos del detector. Un optimizador mejora este programa reescribiendo ese objetivo y añadiendo demostraciones a los mensajes, sin modificar el código Python.

  • Ingeniería de prompts: redactar y revisar instrucciones a mano. DSPy convierte ese trabajo en un problema de optimización con una métrica y ejemplos.
  • LangChain: framework de integraciones, herramientas y bucles de agentes para combinar aplicaciones de LLM, con instrucciones que mantiene el desarrollador.
  • Ajuste de hiperparámetros: busca configuraciones de entrenamiento según una métrica de validación; es la analogía más cercana a la búsqueda de instrucciones de DSPy.
  • Sistemas de IA compuestos: aplicaciones creadas a partir de varias llamadas a modelos, recuperadores y herramientas. DSPy se diseñó para optimizar estos flujos de principio a fin y ajustar las instrucciones de cada paso según la métrica final.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático