跳转到内容

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/CDGitHub Actions(SHA 固定的安全策略)

架构概览

快速体验

Terminal window
# 安装
pip install langchain
# 或
uv add langchain
# 最简使用
python -c "
from langchain.chat_models import init_chat_model
model = init_chat_model('openai:gpt-5.4')
result = model.invoke('Hello, world!')
print(result)
"
# 创建 Agent
python -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 驱动的自动化管线