Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

DSPy

O DSPy é um framework de código aberto que cria pipelines de LLMs a partir de assinaturas tipadas e módulos e, em seguida, otimiza os prompts com base em uma métrica.

O DSPy é uma estrutura Python de código aberto para criar aplicações com modelos de linguagem grandes (LLMs) como código, em vez de usar prompts escritos manualmente. O desenvolvedor declara o que cada etapa recebe e retorna, combina essas etapas em um programa e deixa que um otimizador do DSPy escreva e ajuste os prompts — ou os pesos do modelo — para maximizar uma métrica em um conjunto de exemplos. O nome significa Python declarativo autoaprimorável, e o projeto se descreve como uma estrutura para programar modelos de linguagem, em vez de apenas criar prompts. Omar Khattab e colegas de Stanford o apresentaram no artigo de outubro de 2023 DSPy: compilando chamadas declarativas de modelos de linguagem em pipelines autoaprimoráveis. Em poucos minutos de compilação, algumas linhas de DSPy permitiram que GPT-3.5 e Llama-2-13B-chat criassem pipelines que superaram em mais de 25% e 65%, respectivamente, os prompts padrão de poucos exemplos, e superaram em até 46% e 40% os pipelines que usavam demonstrações escritas por especialistas.

Assinaturas, módulos e otimizadores#

  • Assinaturas: declarações tipadas das entradas e saídas de uma etapa, escritas diretamente como "question -> answer" ou como uma classe cuja docstring especifica a tarefa. Elas indicam o que uma etapa faz e deixam a formulação do prompt a cargo do DSPy.
  • Módulos: estratégias para executar uma assinatura. dspy.Predict chama o modelo uma vez, dspy.ChainOfThought adiciona um campo de raciocínio antes da resposta, como no prompting de cadeia de pensamento, e dspy.ReAct executa um ciclo que usa ferramentas, no estilo do prompting ReAct. Os módulos se combinam como camadas do PyTorch para formar programas com várias etapas, como um pipeline de geração aumentada por recuperação (RAG) que escreve uma consulta de busca, recupera passagens e responde com base nelas.
  • Adaptadores: convertem uma assinatura em mensagens de chat para o modelo e analisam a resposta, convertendo-a novamente em campos tipados.
  • Otimizadores: algoritmos que aprimoram um programa com base em uma métrica. BootstrapFewShot executa o programa em exemplos de treinamento e mantém como demonstrações os rastros que passam na métrica, MIPROv2 pesquisa entre instruções propostas e conjuntos de demonstrações, e BootstrapFinetune destila um programa nos pesos do modelo por meio de ajuste fino.

O ciclo de otimização se parece com o treinamento de um modelo, usando prompts como parâmetros:

O otimizador GEPA de 2025, disponível como dspy.GEPA, lê os rastros de execução do programa e o feedback textual, faz um LLM refletir sobre o que deu errado e, a partir daí, evolui as instruções. Em seis tarefas, superou em média 6% — e em até 20% — o método de aprendizado por reforço GRPO, usando até 35 vezes menos rollouts; também superou o MIPROv2 em mais de 10%.

Da assinatura ao prompt#

O DSPy escreve o prompt a partir da assinatura, então o mesmo programa pode ser reotimizado para um novo modelo, em vez de ser reescrito. Aqui, a entrada é um resumo de detecção do Ultralytics YOLO26: Results.verbose() retorna um resultado do modo de predição como contagens por classe em uma string curta, que uma assinatura pode receber como texto para que um otimizador ajuste a etapa de raciocínio usando saídas reais de detecção de objetos. Não é necessário ter um modelo nem uma chave de API para formatar as mensagens:

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

A mensagem do sistema lista os campos de entrada e saída, os marcadores [[ ## field ## ]] que o DSPy usa para analisar a resposta e a docstring como objetivo; a mensagem do usuário contém as contagens do detector. Um otimizador aprimora esse programa reescrevendo o objetivo e adicionando demonstrações às mensagens, sem alterar o código Python.

  • Engenharia de prompts: escrever e revisar prompts manualmente. O DSPy transforma esse trabalho em um problema de otimização com uma métrica e exemplos.
  • LangChain: uma estrutura de integrações, ferramentas e ciclos de agentes para compor aplicações com LLMs, cujos prompts são mantidos pelo desenvolvedor.
  • Ajuste de hiperparâmetros: pesquisa configurações de treinamento com base em uma métrica de validação; é a analogia mais próxima de como o DSPy pesquisa prompts.
  • Sistemas de IA compostos: aplicações construídas com várias chamadas a modelos, recuperadores e ferramentas. O DSPy foi projetado para otimizar esses pipelines de ponta a ponta, ajustando o prompt de cada etapa com base na métrica final.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina