stanfordnlp

    stanfordnlp/dspy

    #727 this week

    DSPy: The framework for programming—not prompting—language models

    backend
    Python
    MIT
    35.3K stars
    3.0K forks
    35.3K GitHub watchers
    Updated 6/24/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • DSPy is a Python framework for programming language models with compositional code instead of brittle prompts, enabling modular AI system development.
    • Key features include prompt and weight optimization algorithms, support for classifiers, RAG pipelines, and agent loops, with a focus on self-improving pipelines.
    • Strengths are fast iteration, modularity, and self-improvement capabilities; limitations may include dependency on language model quality and complexity of setup.
    • Organizations can use DSPy in production to build robust, maintainable AI applications that require dynamic prompt optimization and complex multi-stage language model workflows.
    • Ideal use cases include knowledge-intensive NLP tasks, automated classification, retrieval-augmented generation, and building AI agents with evolving performance.

    About dspy

    DSPy: Programming—not prompting—Foundation Models

    Documentation: DSPy Docs

    PyPI Downloads


    DSPy is the framework for programming—rather than prompting—language models. It allows you to iterate fast on building modular AI systems and offers algorithms for optimizing their prompts and weights, whether you're building simple classifiers, sophisticated RAG pipelines, or Agent loops.

    DSPy stands for Declarative Self-improving Python. Instead of brittle prompts, you write compositional Python code and use DSPy to teach your LM to deliver high-quality outputs. Learn more via our official documentation site or meet the community, seek help, or start contributing via this GitHub repo and our Discord server.

    Documentation: dspy.ai

    Please go to the DSPy Docs at dspy.ai

    Installation

    pip install dspy
    

    To install the very latest from main:

    pip install git+https://github.com/stanfordnlp/dspy.git
    

    📜 Citation & Reading More

    If you're looking to understand the framework, please go to the DSPy Docs at dspy.ai.

    If you're looking to understand the underlying research, this is a set of our papers:

    [Jul'25] GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning
    [Jun'24] Optimizing Instructions and Demonstrations for Multi-Stage Language Model Programs
    [Oct'23] DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines
    [Jul'24] Fine-Tuning and Prompt Optimization: Two Great Steps that Work Better Together
    [Jun'24] Prompts as Auto-Optimized Training Hyperparameters
    [Feb'24] Assisting in Writing Wikipedia-like Articles From Scratch with Large Language Models
    [Jan'24] In-Context Learning for Extreme Multi-Label Classification
    [Dec'23] DSPy Assertions: Computational Constraints for Self-Refining Language Model Pipelines
    [Dec'22] Demonstrate-Search-Predict: Composing Retrieval & Language Models for Knowledge-Intensive NLP

    To stay up to date or learn more, follow @DSPyOSS on Twitter or the DSPy page on LinkedIn.

    The DSPy logo is designed by Chuyi Zhang.

    If you use DSPy or DSP in a research paper, please cite our work as follows:

    @inproceedings{khattab2024dspy,
      title={DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines},
      author={Khattab, Omar and Singhvi, Arnav and Maheshwari, Paridhi and Zhang, Zhiyuan and Santhanam, Keshav and Vardhamanan, Sri and Haq, Saiful and Sharma, Ashutosh and Joshi, Thomas T. and Moazam, Hanna and Miller, Heather and Zaharia, Matei and Potts, Christopher},
      journal={The Twelfth International Conference on Learning Representations},
      year={2024}
    }
    @article{khattab2022demonstrate,
      title={Demonstrate-Search-Predict: Composing Retrieval and Language Models for Knowledge-Intensive {NLP}},
      author={Khattab, Omar and Santhanam, Keshav and Li, Xiang Lisa and Hall, David and Liang, Percy and Potts, Christopher and Zaharia, Matei},
      journal={arXiv preprint arXiv:2212.14024},
      year={2022}
    }
    

    Discover Repositories

    Search across tracked repositories by name or description