GitHub: langchain-ai/langchain
Stars: 139,000+ | Language: Python (99.2%) | License: MIT
官网: langchain.com
目录
项目速览
LangChain 是目前最流行的 LLM 应用开发框架之一,由 Harrison Chase 于 2022 年创建,定位为 “The agent engineering platform”。截至 2026 年 6 月,项目在 GitHub 上已获得超过 139,000 颗 Star,拥有 23,000+ Fork 和 1,200+ Release,社区极为活跃。
LangChain 的核心理念是将 LLM 调用与外部工具、数据源组合成可复用的”链”(Chain),从而构建复杂的智能应用。随着 2025 年 10 月 LangChain 1.0 和 LangGraph 1.0 的正式发布,该框架已从早期的”LLM 工具箱”演进为完整的 Agent 工程平台。其生态体系涵盖四大核心组件:langchain-core(抽象层)、langchain(主包)、langchain-community(社区集成)和 langgraph(图编排引擎),此外还有 LangSmith(可观测性平台)和 LangServe(部署服务)等配套产品。
LangChain 的设计哲学是”低抽象、高可控”:提供开箱即用的高层 API 快速上手,也允许开发者随时下沉到 LangGraph 的图级别进行精细控制,两者共享同一运行时,无需重写代码。
功能概述
create_agent — 一行代码构建 Agent
LangChain 1.0 的核心抽象是 create_agent 函数,它封装了标准 Agent 循环:发送请求到模型、模型返回工具调用或最终答案、执行工具、循环往复。开发者只需指定模型和工具列表,即可得到一个功能完备的 Agent。
from langchain.agents import create_agent |
create_agent 底层运行在 LangGraph 运行时之上,因此你可以随时获取更细粒度的控制权。当需要添加条件分支、循环或人工审批环节时,直接从 Agent 对象中提取底层 StateGraph 进行定制即可。
LCEL — 声明式链式组合
LCEL(LangChain Expression Language)是 LangChain 的声明式组合语言,使用 | 管道操作符将组件串联为可执行的有向无环图(DAG)。LCEL 自动提供同步/异步执行、流式输出、批处理、重试和回退等能力。
from langchain_core.prompts import ChatPromptTemplate |
Middleware 中间件系统
LangChain 1.0 引入了中间件机制,允许开发者通过钩子函数拦截和定制 Agent 循环的每一个步骤。内置中间件包括:
- Human-in-the-loop:在关键决策点暂停执行,等待人工审批
- 对话摘要:当对话历史超过上下文窗口时自动压缩
- PII 脱敏:自动检测和脱敏个人身份信息
自定义中间件可以用于输入预处理、工具选择策略、输出校验等场景。
Standard Content Blocks
LangChain 定义了一套与模型提供商无关的标准内容块规范,统一了不同模型(OpenAI、Anthropic、Google、开源模型等)的输出格式。支持推理追踪(reasoning traces)、引用标注(citations)、工具调用(包括服务端工具调用)等结构化输出,并且在不同提供商之间保持了流式输出的一致性。这意味着切换模型提供商时,上层应用的解析逻辑无需修改。
LangGraph — 图编排引擎
LangGraph 是 LangChain 生态中的底层编排引擎,基于 Pregel/BSP(Bulk Synchronous Parallel)模型构建。它将工作流建模为有向图,其中节点(Node)代表工作单元(LLM 调用、工具执行、代码函数),边(Edge)代表执行流和状态转换。核心特性包括:
- 自动并行化:当多个节点之间不存在依赖关系时自动并行执行
- 6 种流式模式:values、updates、messages、tasks、checkpoints、custom
- 检查点(Checkpointing):可序列化的状态快照,支持从任意机器、任意时间恢复执行
- Human-in-the-Loop:
interrupt()函数可在任意节点暂停,检查点机制支持数小时甚至数天后恢复
适用场景
智能客服与对话系统
LangChain 的 LCEL 和 LangGraph 组合非常适合构建多轮对话系统。可以利用 LangGraph 的条件分支实现意图识别、上下文切换等功能,通过检查点机制在长时间对话中保持状态一致,借助 Human-in-the-Loop 中间件在敏感操作(如退款)前加入人工审批。
RAG 知识库问答
LangChain 提供完整的 RAG 管道:文档加载器(支持 PDF、网页、数据库等 100+ 数据源)、文本分割器、向量存储集成(Chroma、Pinecone、Weaviate 等)和检索器。结合 LCEL,几行代码即可搭建一个从文档检索到答案生成的完整问答系统。
多步骤自动化工作流
对于需要复杂决策逻辑的企业自动化场景(如合同审核、贷款审批、供应链管理),LangGraph 的图编排能力可以将业务流程建模为有向图,每个步骤由 LLM 或代码函数执行,支持条件分支、循环、错误处理和人工干预。
数据分析与报告生成
Agent 可以连接数据库(通过 SQL 工具)、调用数据分析库(如 Pandas)、生成图表并撰写报告。LangGraph 的多 Agent 协作能力可以将数据提取、分析、可视化和报告撰写分派给不同的专门 Agent 并行处理。
Agent 编排与多 Agent 系统
LangGraph 支持构建复杂的多 Agent 系统:不同 Agent 拥有不同的工具集和系统提示词,通过有向图定义它们之间的协作关系。可以构建监督者-执行者模式、辩论模式或层级委托模式等多种 Agent 协作架构。
快速上手
环境要求
- Python 3.10+
- 一个 LLM 提供商的 API Key(如 OpenAI、Anthropic 或本地 Ollama)
安装
pip install langchain langchain-community langchain-openai |
如果使用 Ollama 运行本地模型:
pip install langchain langchain-community langchain-ollama |
最简示例:LLM 调用
from langchain_openai import ChatOpenAI |
最简链:提示词 + LLM + 输出解析
from langchain_core.prompts import ChatPromptTemplate |
源码架构
LangChain 仓库采用 monorepo 结构,核心代码位于 libs/ 目录下:
langchain/ |
- langchain-core:框架的基石,定义了 Runnable、消息、工具、提示词、回调等核心抽象。所有其他包都依赖此包。
- langchain:面向用户的主包,提供
create_agent、预构建链、中间件等高层 API。 - langchain-community:社区维护的集成包,包含文档加载器、向量存储、LLM 包装器等第三方集成。
- langgraph:底层的图编排引擎,实现基于 Pregel/BSP 的并行执行、状态管理、检查点和人工介入。
实操 Demo
下面是一个完整的 RAG 问答系统 Demo,演示如何使用 LangChain 从网页文档构建知识库并进行问答。
""" |
运行这个 Demo 的前提是:
# 安装依赖 |
同类对比
| 特性 | LangChain | LlamaIndex | Semantic Kernel |
|---|---|---|---|
| 定位 | 通用 Agent 工程平台 | 文档 Agent 和 RAG 平台 | 企业级多语言 Agent SDK |
| Stars | 139,000+ | 50,100+ | 28,100+ |
| 核心语言 | Python | Python | C# / Python / Java |
| 主要优势 | 生态最丰富,抽象设计优雅,LangGraph 提供精细控制 | 文档处理与检索能力业界领先,LlamaParse 文档解析出色 | 微软生态深度集成,支持 .NET/Java,企业级治理 |
| Agent 模式 | create_agent + LangGraph 图编排 + Middleware | Agentic Document Workflows + Workflows 1.0 | Agent Framework + Planner + Process Framework |
| 适用场景 | 适合需要灵活组合和复杂编排的通用 Agent 应用 | 适合以文档为中心的 RAG 和智能文档处理场景 | 适合 .NET/Java 技术栈的企业级 AI 应用 |
| 学习曲线 | 中等:概念较多,但 1.0 后 API 已大幅简化 | 中等:RAG 概念直观,高级功能需要学习 | 中等偏高:横跨多种语言,文档相对分散 |
分析:LangChain 的最大优势在于其生态丰富度和设计灵活性。三者的定位差异明显:LangChain 是一个通用平台,适合需要高度定制化的 Agent 应用;LlamaIndex 在文档处理和 RAG 方面更专业;Semantic Kernel 则面向微软技术栈的企业用户。LangChain 1.0 的发布显著改善了 API 的可用性,create_agent 函数让 Agent 构建变得极其简洁,同时 LangGraph 为需要精细控制的场景提供了强大的图编排能力。如果你需要一个生态最完善、社区最活跃的通用 Agent 框架,LangChain 是最稳妥的选择。
参考资源
- 官方文档: https://python.langchain.com/docs/
- GitHub 仓库: https://github.com/langchain-ai/langchain
- LangGraph 文档: https://langchain-ai.github.io/langgraph/
- LangSmith 平台: https://smith.langchain.com/
- LangChain 1.0 发布博客: https://www.langchain.com/blog/langchain-langgraph-1dot0
- 社区 Discord: https://discord.gg/langchain


