stanfordnlp/dspy

Estruturas de mapeamento programático de entrada que traduzem critérios algorítmicos em diretivas confiáveis de geração de texto estruturado.

O que é dspy?

DSPy é uma biblioteca desenvolvida por Stanford NLP para programação de modelos de linguagem (LMs) de forma estruturada e confiável. Em vez de depender de prompts manuais e frágeis, DSPy permite que desenvolvedores definam 'módulos' de raciocínio programático (como Chain-of-Thought, ReAct, etc.) e os compilem automaticamente com exemplos, otimizando os prompts e pesos do modelo. Isso torna a engenharia de prompts mais sistemática, reutilizável e robusta, especialmente para tarefas complexas de raciocínio e geração de texto estruturado. A biblioteca é compatível com múltiplos backends de LM (incluindo OpenAI, Cohere, Hugging Face) e pode ser integrada em pipelines de agentes de IA (como Claude Code, Cursor, etc.) para melhorar a confiabilidade e a qualidade das saídas geradas.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add stanfordnlp/dspy

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

O que dspy faz?

Estruturas de mapeamento programático de entrada que traduzem critérios algorítmicos em diretivas confiáveis de geração de texto estruturado.

Visão Geral

DSPy (Declarative Self-improving Python) é uma biblioteca do Stanford NLP que permite programar modelos de linguagem de forma sistemática. Em vez de prompts manuais, você define módulos de raciocínio (ex.: Chain-of-Thought, ReAct) e os otimiza automaticamente com exemplos.

Principais Recursos

  • Módulos Programáticos: Defina pipelines de raciocínio com poucas linhas de código.
  • Otimização Automática: Compile módulos com exemplos para ajustar prompts e pesos.
  • Suporte a Múltiplos LMs: Funciona com OpenAI, Cohere, Hugging Face, e mais.
  • Integração com Agentes: Pode ser usado em ferramentas como Claude Code, Cursor e Codex.

Exemplo de Uso

import dspy
from dspy.datasets import HotPotQA

gpt3 = dspy.OpenAI(model='gpt-3.5-turbo')
dspy.settings.configure(lm=gpt3)

class GenerateAnswer(dspy.Signature):
    """Responda a perguntas com respostas curtas e factuais."""
    context = dspy.InputField(desc="Contexto da pergunta")
    question = dspy.InputField(desc="Pergunta do usuário")
    answer = dspy.OutputField(desc="Resposta curta")

class RAG(dspy.Module):
    def __init__(self, num_passages=3):
        super().__init__()
        self.retrieve = dspy.Retrieve(k=num_passages)
        self.generate_answer = dspy.ChainOfThought(GenerateAnswer)
    
    def forward(self, question):
        context = self.retrieve(question).passages
        prediction = self.generate_answer(context=context, question=question)
        return dspy.Prediction(context=context, answer=prediction.answer)

Documentação e Links

Licença

MIT License

Habilidades Relacionadas