# Built with DSPy

Open-source projects, research papers, language ports, and integrations from the wider DSPy ecosystem. Community-maintained; to add yours, please [open a PR](https://github.com/stanfordnlp/dspy/edit/main/docs/docs/community/built-with-dspy.md).

## Papers

| **Name** | **Description** |
|---|---|
| **[STORM](https://arxiv.org/abs/2402.14207)** | Writing Wikipedia-like Articles From Scratch. |
| **[PATH](https://arxiv.org/abs/2406.11706)** | Prompts as Auto-Optimized Training Hyperparameters: Training Best-in-Class IR Models from Scratch with 10 Gold Labels |
| **[WangLab @ MEDIQA](https://arxiv.org/abs/2404.14544)** | UofT's winning system at MEDIQA, outperforms the next best system by 20 points |
| **[UMD's Suicide Detection System](https://arxiv.org/abs/2406.06608)** | Outperforms 20-hour expert human prompt engineering by 40% |
| **[IReRa](https://arxiv.org/abs/2401.12178)** | Infer-Retrieve-Rank: Extreme Classification with > 10,000 Labels |
| **[Unreasonably Effective Eccentric Prompts](https://arxiv.org/abs/2402.10949v2)** | General Prompt Optimization |
| **[Palimpzest](https://arxiv.org/abs/2405.14696)** | A Declarative System for Optimizing AI Workloads |
| **[AI Agents that Matter](https://arxiv.org/abs/2407.01502v1)** | Agent Efficiency Optimization |
| **[EDEN](https://arxiv.org/abs/2406.17982v1)** | Empathetic Dialogues for English Learning: Uses adaptive empathetic feedback to improve student grit |
| **[ECG-Chat](https://arxiv.org/pdf/2408.08849)** | Uses DSPy with GraphRAG for medical report generation |
| **[DSPy Assertions](https://arxiv.org/abs/2312.13382)** | Various applications of imposing hard and soft constraints on LM outputs |
| **[DSPy Guardrails](https://boxiyu.github.io/assets/pdf/DSPy_Guardrails.pdf)** | Reduce the attack success rate of CodeAttack, decreasing from 75% to 5% |
| **[Co-STORM](https://arxiv.org/pdf/2408.15232)** | Collaborative STORM: Generate Wikipedia-like articles through collaborative discourse among users and multiple LM agents |
| **[MedVAL](https://arxiv.org/abs/2507.03152)** | Expert-level validation of AI-generated medical text with scalable language models |
| **[Neural @ ArchEHR-QA 2025](https://aclanthology.org/2025.bionlp-share.13.pdf)** | Runner up method at 2025 BioNLP Shared Task Workshop |

This list is regularly updated with new research publications using DSPy.

## Open-Source Projects

| **Name** | **Description/Link** |
|---|---|
| **Stanford CS 224U Homework** | [Github](https://github.com/cgpotts/cs224u/blob/main/hw_openqa.ipynb) |
| **STORM Report Generation (10,000 GitHub stars)** | [Github](https://github.com/stanford-oval/storm) |
| **DSPy Redteaming** | [Github](https://github.com/haizelabs/dspy-redteam) |
| **DSPy Theory of Mind** |  [Github](https://github.com/plastic-labs/dspy-opentom) |
| **Indic cross-lingual Natural Language Inference** |  [Github](https://github.com/saifulhaq95/DSPy-Indic/blob/main/indicxlni.ipynb) |
| **Optimizing LM for Text2SQL using DSPy** | [Github](https://github.com/jjovalle99/DSPy-Text2SQL) |
| **DSPy PII Masking Demo by Eric Ness** | [Colab](https://colab.research.google.com/drive/1KZR1sGTp_RLWUJPAiK1FKPKI-Qn9neUm?usp=sharing) |
| **DSPy on BIG-Bench Hard Example** |  [Github](https://drchrislevy.github.io/posts/dspy/dspy.html) |
| **Building a chess playing agent using DSPy** |  [Github](https://medium.com/thoughts-on-machine-learning/building-a-chess-playing-agent-using-dspy-9b87c868f71e) |
| **Ittia Research Fact Checking** | [Github](https://github.com/ittia-research/check) |
| **Strategic Debate via Tree-of-Thought** | [Github](https://github.com/zbambergerNLP/strategic-debate-tot) |
| **Sanskrit to English Translation App**| [Github](https://github.com/ganarajpr/sanskrit-translator-dspy) |
| **DSPy for extracting features from PDFs on arXiv**| [Github](https://github.com/S1M0N38/dspy-arxiv) |
| **DSPygen: DSPy in Ruby on Rails**| [Github](https://github.com/seanchatmangpt/dspygen) |
| **DSPy Inspector**| [Github](https://github.com/Neoxelox/dspy-inspector) |
| **DSPy with FastAPI**| [Github](https://github.com/diicellman/dspy-rag-fastapi) |
| **DSPy for Indian Languages**| [Github](https://github.com/saifulhaq95/DSPy-Indic) |
| **Hurricane: Blog Posts with Generative Feedback Loops!**| [Github](https://github.com/weaviate-tutorials/Hurricane) |
| **RAG example using DSPy, Gradio, FastAPI, and Ollama**| [Github](https://github.com/diicellman/dspy-gradio-rag) |
| **Synthetic Data Generation**| [Github](https://colab.research.google.com/drive/1CweVOu0qhTC0yOfW5QkLDRIKuAuWJKEr?usp=sharing) |
| **Self Discover**| [Github](https://colab.research.google.com/drive/1GkAQKmw1XQgg5UNzzy8OncRe79V6pADB?usp=sharing) |
| **MedVAL**| [Github](https://github.com/StanfordMIMI/MedVAL) |

This list showcases some of the open-source projects and repositories using DSPy, with many more examples available in the community.

## Community Language Ports

DSPy has inspired implementations across many programming languages. These community-maintained ports bring DSPy's programming paradigm to different ecosystems. If you have created a DSPy port in another language, please submit a PR to add it here.

| **Language** | **Project** | **Stars** | **Description** |
|---|---|---|---|
| **Clojure** | [DSCloj](https://github.com/unravel-team/DSCloj) | ![GitHub stars](https://img.shields.io/github/stars/unravel-team/DSCloj?style=flat) | Inspired by DSPy, adapts concepts to Clojure |
| **Elixir** | [dspy.ex](https://github.com/arthurcolle/dspy.ex) | ![GitHub stars](https://img.shields.io/github/stars/arthurcolle/dspy.ex?style=flat) | Inspired by DSPy, adapts for Elixir |
| **Go** | [dspy-go](https://github.com/XiaoConstantine/dspy-go) | ![GitHub stars](https://img.shields.io/github/stars/XiaoConstantine/dspy-go?style=flat) | Native Go implementation |
| **.NET** | [DSpyNet](https://github.com/al322se/DSpyNet) | ![GitHub stars](https://img.shields.io/github/stars/al322se/DSpyNet?style=flat) | C# .NET port |
| **R** | [dsprrr](https://github.com/jameshwade/dsprrr) | ![GitHub stars](https://img.shields.io/github/stars/jameshwade/dsprrr?style=flat) | R implementation inspired by DSPy |
| **Ruby** | [dspy.rb](https://github.com/vicentereig/dspy.rb) | ![GitHub stars](https://img.shields.io/github/stars/vicentereig/dspy.rb?style=flat) | Ruby port |
| **Rust** | [DSRs](https://github.com/krypticmouse/DSRs) | ![GitHub stars](https://img.shields.io/github/stars/krypticmouse/DSRs?style=flat) | Ground-up Rust rewrite |
| **TypeScript** | [ax](https://github.com/ax-llm/ax) | ![GitHub stars](https://img.shields.io/github/stars/ax-llm/ax?style=flat) | Inspired by DSPy for TypeScript |
| **TypeScript** | [dspy.ts](https://github.com/ruvnet/dspy.ts) | ![GitHub stars](https://img.shields.io/github/stars/ruvnet/dspy.ts?style=flat) | Complete TypeScript implementation |

These are community-maintained projects and are not officially supported by the DSPy team. Feature availability and API compatibility may vary.

## Providers and Integrations

| **Name** | **Link** |
|---|---|
| **Zenbase** | [Link](https://zenbase.ai/) |
| **IBM** | [Link](https://www.ibm.com/think/topics/dspy) |
| **LangWatch** | [Link](https://langwatch.ai/blog/introducing-dspy-visualizer) |
| **Gradient** | [Link](https://gradient.ai/blog/achieving-gpt-4-level-performance-at-lower-cost-using-dspy) |
| **Portkey** | [Link](https://portkey.ai/docs/integrations/libraries/dspy) |
| **Snowflake** | [Link](https://medium.com/snowflake/dspy-snowflake-140d6d947d73) |
| **Langchain** | [Link](https://python.langchain.com/v0.2/docs/integrations/providers/dspy/) |
| **Weaviate** | [Link](https://weaviate.io/blog/dspy-optimizers) |
| **Qdrant** | [Link](https://qdrant.tech/documentation/frameworks/dspy/) |
| **Weights & Biases Weave** | [Link](https://weave-docs.wandb.ai/guides/integrations/dspy/) |
| **Milvus** | [Link](https://milvus.io/docs/integrate_with_dspy.md) |
| **Neo4j** | [Link](https://neo4j.com/labs/genai-ecosystem/dspy/) |
| **Lightning AI** | [Link](https://lightning.ai/lightning-ai/studios/dspy-programming-with-foundation-models) |
| **Haystack** | [Link](https://towardsdatascience.com/automating-prompt-engineering-with-dspy-and-haystack-926a637a3f43) |
| **Arize** | [Link](https://docs.arize.com/phoenix/tracing/integrations-tracing/dspy) |
| **LlamaIndex** | [Link](https://github.com/stanfordnlp/dspy/blob/main/examples/llamaindex/dspy_llamaindex_rag.ipynb) |
| **Langtrace** | [Link](https://docs.langtrace.ai/supported-integrations/llm-frameworks/dspy) |
| **Langfuse** | [Link](https://langfuse.com/docs/integrations/dspy) |
| **OpenLIT** | [Link](https://docs.openlit.io/latest/integrations/dspy) |
| **Relevance AI** | [Link](https://relevanceai.com/blog/dspy-programming---not-prompting---language-models) |
| **Advancing Analytics** | [Link](https://www.advancinganalytics.co.uk/blog/prompt-optimisation-an-introduction-to-dspy) |

Credit: Some of these resources were originally compiled in the [Awesome DSPy](https://github.com/ganarajpr/awesome-dspy/tree/master) repo.
