DSPy is an open-source framework for creating GenAI systems. It is the brainchild of the visionary AI researcher Omar Khattab. Omar was advised by Matei Zaharia and our Chief Scientist Chris Potts, and he is now a professor at MIT. We cannot be sure precisely when Omar had his “aha” moment, but Chris believes that it traces to their work together creating this Stanford homework assignment – the two were aiming to help their students see the structured concepts at work behind prompt engineering, and this led them to start sketching out a framework for prompt construction and evaluation.
DSPy has come a very long way since then. It is the most starred repository in the StanfordNLP Github account (around 29K as of this writing). It has contributors all over the globe, it is used by numerous research groups and industry labs, and it offers a powerful and mature set of tools for building and optimizing foundation model programs. The library itself is just two years old, but it already feels like a cornerstone of GenAI development.
The website says that “DSPy” stands for “Declarative Self-improving Python”, but Chris knows this to be a backronym. The original full name is very different. As for how to pronounce it – this too is unclear. D-S-P-Y or D-S-Pie? Chris says the latter. Omar says either is fine. (Another of Omar’s major contributions is the ColBERT neural retrieval model. ColBERT is named in honor of Stephen Colbert, which seems like it clarifies the pronunciation, but the “BERT” in its name refers to the BERT language model, itself named after Bert from the Muppets. There may not be one true pronunciation of ColBERT.)
DSPy is the foundation of all of Bigspin’s AI-based components. We love it because it allowed us to build up a library of modular, reusable, composable functions. It separates prompt design from code design, and it allows us to concentrate on quality instead of the low-level details of formatting prompts, parsing model outputs, and integrating tools. In addition, it means we get powerful optimization tools for free; every DSPy module, from the simplest one-liner to the most complex agents, can be optimized with just a few lines of code. You can optimize just the prompts, or just the model weights, or (for the best results) you can do both together.
Bigspin users do not need to write DSPy, or even know what it is. It is under the hood, humming away, helping all of us achieve big things with GenAI.




