DSPy: Declarative Language Model Programming
Stanford NLP's framework for programming—not prompting—language models.
Quick Start
python
import dspy
# 1. Configure
dspy.settings.configure(lm=dspy.OpenAI(model='gpt-4o-mini'))
# 2. Define Module
qa = dspy.ChainOfThought("question -> answer")
# 3. Run
response = qa(question="What is the capital of France?")
print(response.answer)
Learning Path (DAG)
The DSPy framework follows a natural progression from core concepts through optimization to advanced applications. Use this directed acyclic graph to understand dependencies and navigate the skill components.
Foundation Layer (Start Here)
- •
- •Prerequisites: None
- •Next: Signatures, Modules, Datasets
- •
- •Prerequisites: LM Configuration
- •Next: Modules, Optimization
- •
- •Prerequisites: Signatures
- •Next: Optimization, Applications
- •
- •Prerequisites: None
- •Next: Optimization
Optimization Layer
- •
- •Prerequisites: Modules, Datasets
- •Techniques: LabeledFewShot, BootstrapFewShot, KNNFewShot
- •Next: Applications
- •
- •Prerequisites: Modules, Datasets
- •Techniques: COPRO, MIPROv2, GEPA
- •Next: Applications
- •
- •Prerequisites: Modules, Datasets
- •Techniques: BootstrapFinetune
- •Next: Applications
- •
- •Prerequisites: Multiple trained modules
- •Next: Applications
Application Layer
- •
- •Prerequisites: Modules, Optimization (recommended)
- •
- •Prerequisites: Modules, Datasets
- •
- •Prerequisites: Modules, Haystack knowledge
Advanced Features (Cross-Cutting)
- •
- •Prerequisites: Modules
- •
- •Prerequisites: Signatures
- •
- •Prerequisites: ChainOfThought module
Reference Documentation
- •Modules Reference - Complete module catalog
- •Optimizers Reference - All optimization techniques
- •Examples Reference - Real-world implementations
Common Workflows
Workflow 1: Basic QA System
- •Configure LM → Design Signature → Build Module
- •Path:
configuring-language-models.md→designing-signatures.md→building-modules.md
Workflow 2: Optimized RAG System
- •Configure LM → Build RAG Module → Optimize with Few-Shot → Evaluate
- •Path:
configuring-language-models.md→building-rag-pipelines.md→few-shot-learning.md→evaluating-programs.md
Workflow 3: Production Agent
- •Configure LM → Design Signature → Build ReAct Module → Add Assertions → Optimize Instructions → Evaluate
- •Path:
configuring-language-models.md→designing-signatures.md→building-modules.md→assertions-validation.md→instruction-optimization.md→evaluating-programs.md
Installation
bash
pip install dspy # Or with specific providers pip install dspy[anthropic] # Claude pip install dspy[openai] # GPT pip install dspy[all] # All providers
Additional Resources
- •Official Docs: dspy.ai
- •GitHub: github.com/stanfordnlp/dspy