Skip to content

DSPy vs LangChain

Which should you use? A side-by-side look at what each one does, who it suits, what it costs, how hard it is to set up, and where each falls short.

DSPy

Open source · MIT

A Python framework for building and optimizing language model programs instead of hand-writing prompts.

LangChain

Open source · MIT

A Python framework for building AI agents and apps powered by language models.

The short answer

Choose DSPy if you need…

  • Python developers building LM-based pipelines such as RAG or multi-step agents
  • Teams that want to improve prompts with measurable optimization instead of manual tweaking
  • Researchers experimenting with prompt and weight optimization methods
  • People who already have a way to measure output quality and want to tune against it

Choose LangChain if you need…

  • Python developers building LLM-powered applications
  • Teams that want to switch between model providers without rewriting code
  • Developers connecting LLMs to external data sources and tools
  • Prototyping LLM workflows with reusable components

Side-by-side

DSPyLangChain
TypeLibraryFramework
PriceFree and open sourceFree and open source
LicenceMITMIT
GitHub stars38.9k149k
Setup difficultyIntermediateIntermediate
How you get itInstall with a package managerInstall with a package manager
PlatformsAPI, Linux, macOS, Windows—
Works withOpenAI, Anthropic—
Main languagePythonPython
Last code update5 days ago4 days ago

What each one is

DSPy

DSPy is a Python framework for building AI systems out of modular code rather than long hand-written prompts. You describe what each step should do in Python, and DSPy provides algorithms to optimize the prompts and model weights behind those steps. The README says it is used for simple classifiers, RAG pipelines, and agent loops.

LangChain

LangChain is a Python framework for building applications powered by large language models (LLMs) and agents. It provides a standard interface for models, embeddings, and vector stores, plus a library of integrations with model providers and tools. Developers use it to connect LLMs to their own data and systems and to swap models without rewriting their application.

Best for

DSPy

  • Python developers building LM-based pipelines such as RAG or multi-step agents
  • Teams that want to improve prompts with measurable optimization instead of manual tweaking
  • Researchers experimenting with prompt and weight optimization methods
  • People who already have a way to measure output quality and want to tune against it

LangChain

  • Python developers building LLM-powered applications
  • Teams that want to switch between model providers without rewriting code
  • Developers connecting LLMs to external data sources and tools
  • Prototyping LLM workflows with reusable components

Strengths

DSPy

  • Declarative Python code instead of brittle, hand-written prompt strings
  • Includes optimization algorithms for prompts and weights, backed by published research
  • Permissive MIT license with a large community (about 38.8k GitHub stars)

LangChain

  • Standard interface lets you swap model providers with limited code changes
  • Large library of integrations with model providers, tools, and vector stores
  • Open source under the MIT license with a documentation site and free courses

Not ideal for

DSPy

  • People who only need a one-off chat prompt; the framework adds structure that is unnecessary for simple use
  • Non-Python users, since the README only shows Python code and pip installation
  • Anyone wanting a no-code tool; the README describes a programming framework

LangChain

  • People who want a finished end-user app rather than a library to code against
  • Developers who need low-level control over agent orchestration; the README points to LangGraph for that
  • JavaScript or TypeScript projects, which the README directs to the separate LangChain.js library

Trade-offs

DSPy

  • The README points to external docs for most details, so the top-level README gives limited hands-on guidance
  • The README notes a recent LM integration change with breaking changes to provider options, so check the migration guide before upgrading
  • Optimization benefits depend on having a sensible evaluation metric, which the README does not explain in detail

LangChain

  • The README does not detail the API surface, so you rely on external docs for depth
  • Several related products (LangGraph, Deep Agents, LangSmith) are needed for advanced or production work, which adds to the learning curve
  • The README's quickstart targets a specific model string, so you must have access to that provider's API

Getting started

DSPy

Install from PyPI

pip install dspy
Step-by-step guide: how to use DSPy

LangChain

Add LangChain to your project

uv add langchain
Step-by-step guide: how to use LangChain

Frequently asked questions

What is the difference between DSPy and LangChain?

DSPy: A Python framework for building and optimizing language model programs instead of hand-writing prompts. LangChain: A Python framework for building AI agents and apps powered by language models. DSPy suits python developers building lm-based pipelines such as rag or multi-step agents, while LangChain suits python developers building llm-powered applications.

Are DSPy and LangChain free?

DSPy: Free and open source. LangChain: Free and open source.

Is DSPy or LangChain more popular?

LangChain has more GitHub stars (149k) than DSPy (38.9k). Popularity isn't the same as fit — check which one matches your use case above.

What are other alternatives to DSPy and LangChain?

Other options people compare them with include LlamaIndex, guidance, PromptPerfect, promptfoo, Braintrust.

Keep comparing

Built from our catalogue entries for both products: open-source details come from each project's README (AI-assisted, refreshed weekly) and GitHub data; AI-tool details are editorial. Spotted something wrong? Let us know from either product's page.