DSPy
Write LLM pipelines as typed programs and let an optimiser write the prompts, instead of tuning them by hand.
Highlights
- Typed signatures define LLM input/output contracts as Python code
- Modules compose multi-step LLM pipelines (ChainOfThought, ReAct, ProgramOfThought, custom)
- Optimizers automatically tune prompts against metrics — BootstrapFewShot, MIPRO, COPRO, others
- Optional weight optimization through LoRA-style fine-tuning of underlying models
- Model-agnostic backend supporting OpenAI, Anthropic, Mistral, local Llama, and most providers
- Apache 2.0 open-source; 25K+ GitHub stars; led by Omar Khattab (ex-Stanford, now Databricks)
- Published in peer-reviewed venues including ICLR 2024 (foundational DSPy paper)
External link — opens dspy.ai in a new tab. DSPy is a third-party product; we are not affiliated with it.
About DSPy
What it is
DSPy is an open-source framework from Stanford that treats model interactions as programmable modules. You declare what each step takes and returns as a typed signature, compose the steps into a pipeline, and let DSPy's optimisers generate and refine the prompts — and optionally the weights — against a metric you define.
Why it's different
The premise is a direct attack on prompt engineering as a practice. Hand-tuned prompts are brittle, undocumented, impossible to test properly and break when you change model. DSPy replaces the artefact with a specification plus an optimiser, so switching model means recompiling rather than rewriting everything. That is a genuinely better abstraction and the reason it has the adoption it does. The costs are real: the mental model is unusual and takes time to click, the optimisation step costs tokens and time, and the generated prompts are less legible than ones you wrote — debugging means reading something a machine produced. For a single simple call it is substantial overhead for no benefit.
How people use it
It earns its place on multi-step pipelines where quality matters and hand-tuning has become unmanageable — retrieval and reasoning chains, classification with many classes, anything you will want to re-tune when a better model lands. The discipline it forces is the actual benefit: you cannot use DSPy without defining a metric for what good output is, and most teams have never written that down.
Written by the n3os team. We are not affiliated with DSPy.
This listing was written from public information, without DSPy’s involvement. If you own it and something here is wrong — or you would rather not be listed at all — email us and we will correct or remove it.
Get the ones worth knowing about
We write one of these for every tool worth the trouble. Get the new ones, plus what we have found genuinely useful lately.
Your address goes to Buttondown, who send the emails on our behalf. One click unsubscribes, and the list is never sold or shared.