| name | dspy |
| description | Build complex AI systems with declarative programming, optimize prompts automatically, create modular RAG systems and agents with DSPy - Stanford NLP's framework for systematic LM programming. Use when you need to build complex AI systems, program LMs declaratively, optimize prompts automatically, create modular AI pipelines, or build RAG systems and agents. |
DSPy: Declarative Language Model Programming
Stanford NLP's framework for programming—not prompting—language models.
Quick Start
import dspy
dspy.settings.configure(lm=dspy.OpenAI(model='gpt-4o-mini'))
qa = dspy.ChainOfThought("question -> answer")
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)
-
Configuring Language Models
- Prerequisites: None
- Next: Signatures, Modules, Datasets
-
Designing Signatures
- Prerequisites: LM Configuration
- Next: Modules, Optimization
-
Building Modules
- Prerequisites: Signatures
- Next: Optimization, Applications
-
Creating Datasets
- Prerequisites: None
- Next: Optimization
Optimization Layer
-
Few-Shot Learning
- Prerequisites: Modules, Datasets
- Techniques: LabeledFewShot, BootstrapFewShot, KNNFewShot
- Next: Applications
-
Instruction Optimization
- Prerequisites: Modules, Datasets
- Techniques: COPRO, MIPROv2, GEPA
- Next: Applications
-
Finetuning Models
- Prerequisites: Modules, Datasets
- Techniques: BootstrapFinetune
- Next: Applications
-
Ensemble Strategies
- Prerequisites: Multiple trained modules
- Next: Applications
Application Layer
-
Building RAG Pipelines
- Prerequisites: Modules, Optimization (recommended)
-
Evaluating Programs
- Prerequisites: Modules, Datasets
-
Integrating Haystack
- Prerequisites: Modules, Haystack knowledge
Advanced Features (Cross-Cutting)
-
Assertions & Validation
-
Typed Outputs
- Prerequisites: Signatures
-
Multi-Chain Comparison
- Prerequisites: ChainOfThought module
Reference Documentation
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
pip install dspy
pip install dspy[anthropic]
pip install dspy[openai]
pip install dspy[all]
Additional Resources
- Official Docs: dspy.ai
- GitHub: github.com/stanfordnlp/dspy