DSPy

Keywords: dspy,framework

DSPy is the programming framework that replaces hand-crafted prompts with compilable, optimizable modules for building LLM pipelines — developed at Stanford NLP, DSPy treats prompt engineering as a programming problem where modules declare what they need (signatures) and compilers automatically optimize prompts, few-shot examples, and fine-tuning to maximize pipeline performance on specified metrics.

What Is DSPy?

- Definition: A framework where LLM pipelines are built from declarative modules with typed signatures, then automatically optimized by compilers (teleprompters) that find optimal prompts and examples.
- Core Innovation: Separates the program logic (what to compute) from the LLM instructions (how to prompt), enabling automatic optimization.
- Key Concept: "Signatures" define input/output types; "Modules" implement reasoning patterns; "Teleprompters" compile and optimize.
- Creator: Omar Khattab and the Stanford NLP group.

Why DSPy Matters

- No Manual Prompting: Compilers automatically discover optimal prompts and few-shot examples — no prompt engineering required.
- Composability: Modules (ChainOfThought, ReAct, ProgramOfThought) compose into complex pipelines.
- Optimization: Teleprompters systematically search for configurations that maximize task-specific metrics.
- Reproducibility: Pipelines are programmatic and deterministic, unlike ad-hoc prompt engineering.
- Portability: Change the underlying LLM without rewriting prompts — DSPy recompiles automatically.

Core Abstractions

| Concept | Purpose | Example |
|---------|---------|---------|
| Signature | Declare input/output types | `question -> answer |
| Module | Implement reasoning patterns |
dspy.ChainOfThought(signature) |
| Teleprompter | Optimize modules automatically |
BootstrapFewShot, MIPRO |
| Metric | Define success criteria | Accuracy, F1, custom functions |
| Program | Compose modules into pipelines | Class with
forward()` method |

How DSPy Compilation Works

1. Define: Write program using DSPy modules with signatures.
2. Provide: Supply training examples and evaluation metric.
3. Compile: Teleprompter searches prompt/example space to maximize metric.
4. Deploy: Use compiled program with optimized prompts for inference.

Built-In Modules

- Predict: Basic LLM call with signature.
- ChainOfThought: Adds reasoning before answering.
- ReAct: Interleave reasoning and tool actions.
- ProgramOfThought: Generate and execute code for answers.
- MultiChainComparison: Run multiple chains and select best.

DSPy is a paradigm shift from prompt engineering to prompt programming — proving that systematic optimization of LLM instructions through compilation produces more reliable, portable, and performant pipelines than manual prompt crafting.

Want to learn more?

Search 13,225+ semiconductor and AI topics or chat with our AI assistant.

Search Topics Chat with CFSGPT