LangChain 项目介绍
LangChain 项目介绍
项目定位
LangChain 是构建 AI Agent 和 LLM 应用的主流 Python 框架,定位为Agent 工程平台——提供从模型抽象、工具编排到中间件扩展的完整开发基础设施。
解决的核心问题:如何让开发者用一行代码初始化任意供应商的模型,并用中间件模式灵活扩展 Agent 的行为,而无需深入理解每个模型的 API 差异。
核心能力
- 统一模型初始化:
init_chat_model()一行代码接入 20+ 供应商(OpenAI、Anthropic、Google、Ollama 等),自动推断 provider,支持运行时动态切换 - 中间件系统:五层钩子(before_agent/before_model/wrap_model_call/after_model/wrap_tool_call)+ 装饰器快捷模式,实现重试、回退、缓存、HITL 等横切关注点的模块化
- LangGraph 驱动的 Agent 循环:基于 StateGraph 的状态机架构,通过条件边实现灵活的工具调用循环和流程控制
- 结构化输出策略自适应:AutoStrategy 自动在 Provider 原生输出和 Tool 模式间选择最优方案
- 合作伙伴生态:Monorepo 下 17+ 独立 partner 包,每个集成独立发版、独立测试
- 人在回路(HITL):内置审批、编辑、拒绝三种人工干预模式,支持动态 Review 配置
技术栈
| 维度 | 技术 |
|---|---|
| 语言 | Python 3.10+ |
| 包管理 | uv(快速依赖解析) |
| 核心依赖 | langchain-core(基础抽象)、langgraph(状态图)、pydantic(数据校验) |
| 代码质量 | ruff(linter/format)、mypy(类型检查)、pytest(测试) |
| CI/CD | GitHub Actions(SHA 固定的安全策略) |
架构概览
快速体验
# 安装pip install langchain# 或uv add langchain
# 最简使用python -c "from langchain.chat_models import init_chat_modelmodel = init_chat_model('openai:gpt-5.4')result = model.invoke('Hello, world!')print(result)"
# 创建 Agentpython -c "from langchain.agents import create_agent
def check_weather(location: str) -> str: return f\"天气晴朗在 {location}\"
graph = create_agent( model='anthropic:claude-sonnet-4-5', tools=[check_weather], system_prompt='你是一个天气助手')inputs = {'messages': [{'role': 'user', 'content': '北京天气如何'}]}for chunk in graph.stream(inputs, stream_mode='updates'): print(chunk)"教程导读
本教程分为两个部分:
AI 应用篇(/tutorials/langchain/ai/):聚焦如何使用 LangChain 构建 Agent 应用
- 第 01 章:统一模型初始化协议 —
init_chat_model()的工作原理 - 第 02 章:Agent 中间件生命周期 — 五层钩子与装饰器模式
- 第 03 章:基于图的状态管理 — StateGraph 驱动的 Agent 循环
- 第 04 章:结构化输出的策略自适应 — AutoStrategy 的智能选择
- 第 05 章:人在回路(HITL) — Agent 流程中的确认与编辑
- 第 06 章:Agent 状态 Schema 设计 — TypedDict + Annotated Reducers
- 第 07 章:内置中间件库 — 开箱即用的 Agent 能力扩展
- 第 08 章:工具系统的依赖注入 — InjectedState 与 InjectedStore
Dev 工程篇(/tutorials/langchain/dev/):聚焦 LangChain 自身的工程实践
- 第 01 章:Monorepo 架构与包管理 — uv 驱动的模块化生态
- 第 02 章:合作伙伴集成模式 — 独立包 + 标准测试
- 第 03 章:公共 API 稳定性策略 — 向后兼容与弃用流程
- 第 04 章:代码质量工程 — Ruff + mypy + pytest 三位一体
- 第 05 章:Model Profiles 生成系统 — 模型能力数据的自动化管理
- 第 06 章:CI/CD 与发布流程 — GitHub Actions 驱动的自动化管线