LangChain 生态已经从单一框架成长为覆盖开发→编排→调试→部署→运维的全栈工具链,核心由 LangChain(核心框架)、LangGraph(编排)、LangSmith(可观测)、LangServe(部署)、LangFlow(可视化)、LangHub(共享) 六大模块构成,外加丰富的第三方集成包。下面按定位、核心能力、关键 API / 用法、场景与选型逐一详解。


一、LangChain(核心框架:基础开发套件)

定位

大模型应用模块化开发底座,提供模型、提示词、记忆、检索、工具、链等基础组件,支撑线性流程与简单 Agent。

核心能力

  • 模型接入:统一 LLM/ChatModel/Embeddings 接口,兼容 OpenAI、Anthropic、开源模型(Llama 3、Qwen)。
  • 提示词工程ChatPromptTemplateFewShotPromptTemplate,支持变量与结构化消息。
  • 记忆管理ConversationBufferMemorySummaryMemoryVectorStoreRetrieverMemory,实现多轮上下文。
  • RAG 流水线:DocumentLoader → TextSplitter → Embeddings → VectorStore → RetrievalQA,私有文档问答。
  • 工具与 Agent@tool 自定义工具,create_openai_tools_agent/create_react_agent,模型决策调用外部能力。
  • LCEL(LangChain Expression Language)| 管道组合,声明式构建链,支持流式 / 批量 / 异步。

典型用法(LCEL)

python

运行

from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.output_parsers import StrOutputParser

llm=ChatOpenAI(model="gpt-3.5-turbo")
prompt=ChatPromptTemplate.from_messages([("human", "回答:{question}")])
chain=prompt | llm | StrOutputParser() # LCEL 管道
res=chain.invoke({"question": "LangChain 是什么?"})

适用场景

  • 简单问答、聊天机器人、RAG 知识库、单工具自动化任务。

二、LangGraph(高级编排:状态化智能体引擎)

定位

复杂工作流 / 多智能体编排框架,以状态图(State Graph) 替代线性链,支持循环、分支、持久化状态,是工业级 Agent 的核心。

核心能力

  • 状态管理:全局 State 贯穿流程,支持自定义字段(如对话历史、工具返回、中间结果)。
  • 节点(Node):封装 LLM 调用、工具执行、子流程、条件判断。
  • 边(Edge):定义节点流转,支持条件路由(如 “是否需要调用工具”)。
  • 循环执行:支持 “思考→工具→再思考” 的多轮推理(如 ReAct 模式)。
  • 多智能体协作:多 Agent 分工(如规划者、执行者、审核者),状态共享与通信。
  • 持久化与恢复:支持检查点(Checkpoint),中断后可恢复,适配长时任务。

核心概念与 API

  • StateTypedDict 定义状态结构
  • Node:函数 / 可调用对象,接收 State → 返回新 State
  • GraphStateGraph 定义节点与边
  • 编译与执行graph.compile()graph.invoke()/stream()

极简示例(ReAct 工具调用)

python

运行

from langgraph.graph import StateGraph, END
from typing import TypedDict

class AgentState(TypedDict):
    input: str
    output: str
    need_tool: bool

def think(state: AgentState) -> AgentState:
    # LLM 判断是否需要工具
    return {"need_tool": True, "output": "调用计算器"}

def tool_call(state: AgentState) -> AgentState:
    # 执行工具
    return {"output": "结果:46"}

workflow=StateGraph(AgentState)
workflow.add_node("think", think)
workflow.add_node("tool", tool_call)
workflow.add_edge("think", "tool")
workflow.add_edge("tool", END)
workflow.set_entry_point("think")

graph=workflow.compile()
res=graph.invoke({"input": "12+34"})

适用场景

  • 复杂 Agent(如代码助手、科研助手)、多步骤业务流程、多智能体系统、长时任务(如数据处理、报表生成)。

三、LangSmith(可观测与评估:AI 应用调试器 / APM)

定位

全链路追踪、调试、评估平台,解决 LLM 应用 “黑盒” 问题,从原型到生产的可观测性核心

核心能力

  • 端到端追踪:记录每一步 Prompt、LLM 输出、工具调用、耗时、Token 用量。
  • 可视化调试:图形化展示链 / Agent/Graph 执行流程,定位瓶颈与错误。
  • 提示词评估:A/B 测试不同 Prompt,对比输出质量、一致性、安全性。
  • 监控与告警:生产环境实时监控调用量、错误率、延迟、成本。
  • 数据集与标注:构建评估数据集,人工 / 自动标注,量化模型性能。
  • 团队协作:共享追踪记录、评估结果,支持版本化管理。

关键用法

  1. 环境变量开启追踪

python

运行

import os
os.environ["LANGCHAIN_TRACING_V2"] = "true"
os.environ["LANGCHAIN_API_KEY"] = "your-api-key"
  1. 自动追踪所有链 / Agent/Graph,无需修改代码
  2. Web UI:查看追踪详情、执行树、Token 消耗、评估报告

适用场景

  • 开发调试、Prompt 优化、生产监控、合规审计、团队协作。

四、LangServe(生产部署:一键 API 化)

定位

LangChain 组件生产级部署工具,将链 / Agent/Graph 快速转为 REST API,支持流式、批量、监控。

核心能力

  • 一键部署add_routes 快速挂载链 / Agent,自动生成 FastAPI 服务。
  • 标准 API:同步 invoke、流式 stream、批量 batch,兼容 OpenAI 格式。
  • 自动文档:生成 Swagger/OpenAPI 文档,支持在线测试。
  • 监控集成:无缝对接 LangSmith,追踪生产环境调用。
  • 认证与限流:支持 API Key、OAuth2、请求限流,保障安全。

极简示例

python

运行

from fastapi import FastAPI
from langchain_core.prompts import ChatPromptTemplate
from langchain_openai import ChatOpenAI
from langserve import add_routes

app=FastAPI()
prompt=ChatPromptTemplate.from_messages([("human", "你好,{name}")])
chain=prompt | ChatOpenAI()

add_routes(app, chain, path="/greet") # 挂载为 /greet 接口

# 启动:uvicorn main:app --reload
# 访问:http://localhost:8000/greet/invoke

适用场景

  • 内部服务、对外 API、微服务架构、Serverless 部署。

五、LangFlow(可视化开发:低代码 / 零代码搭建)

定位

拖拽式可视化构建工具,降低 LangChain 使用门槛,适合快速原型、业务人员使用。

核心能力

  • 可视化画布:拖拽组件(模型、提示词、工具、检索器),连线构建流程。
  • 零代码配置:组件参数可视化配置,无需编写 Python 代码。
  • 实时预览:搭建过程中可测试运行,即时查看结果。
  • 导出代码:可视化流程一键导出为 LCEL 代码,无缝衔接开发流程。
  • 团队共享:保存 / 复用流程模板,支持协作编辑。

适用场景

  • 快速原型验证、业务人员搭建聊天机器人、教学演示、低代码平台集成。

六、LangHub(共享与版本管理:提示词 / 组件仓库)

定位

集中式、版本可控的提示词与可运行对象仓库,实现提示词复用、团队协作、版本管理。

核心能力

  • 提示词库:高质量、专家编写的提示词模板(如客服、写作、代码)。
  • 版本控制:提示词 / 组件支持版本迭代,可回滚、对比差异。
  • 一键导入pull 命令直接拉取官方 / 团队模板,快速集成。
  • 团队协作:共享私有模板,设置权限,统一提示词规范。

关键用法

python

运行

from langchain.hub import pull

prompt=pull("langchain-ai/chat-prompt") # 拉取官方提示词

适用场景

  • 提示词复用、团队协作、标准化开发、快速启动项目。

七、第三方集成包(生态扩展:连接万物)

模型集成

  • langchain-openai:OpenAI GPT、Embeddings
  • langchain-anthropic:Claude 系列
  • langchain-huggingface:开源模型(Llama 3、Qwen、Mistral)
  • langchain-xai:xAI Grok

向量数据库集成

  • langchain-chroma:轻量本地向量库(开发首选)
  • langchain-faiss:Facebook 高效检索
  • langchain-milvus:开源分布式向量库
  • langchain-pinecone:托管 SaaS 向量库
  • langchain-qdrant:Rust 高性能向量库

工具集成

  • langchain-community:社区维护的海量工具(搜索、数据库、办公软件、API)
  • langchain-tools:官方精选工具(计算器、代码执行、文件操作)

八、生态协同全景(从开发到生产)

  1. 开发:LangChain+LangFlow → 快速搭建链 / Agent
  2. 编排:LangGraph → 复杂流程 / 多智能体
  3. 调试:LangSmith → 追踪、评估、优化
  4. 部署:LangServe → API 化、生产上线
  5. 共享:LangHub → 提示词 / 组件复用
  6. 扩展:第三方集成包 → 连接模型、向量库、工具

九、选型指南(按应用复杂度)

  • 简单应用(线性流程):LangChain+LangSmith
  • 中等应用(多轮 / 分支):LangChain+LangGraph+LangSmith
  • 复杂应用(多智能体 / 长时任务):LangGraph+LangSmith+LangServe
  • 低代码 / 快速原型:LangFlow+LangSmith

十、总结

LangChain 生态已形成 **“一核三翼、全栈覆盖”** 的格局:

  • 一核:LangChain(基础组件)
  • 三翼:LangGraph(编排)、LangSmith(可观测)、LangServe(部署)
  • 辅助:LangFlow(可视化)、LangHub(共享)、第三方集成(扩展)

这套生态让大模型应用开发从 “手工作坊” 转向 “工业化生产”,兼顾灵活性、效率与生产级可靠性。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐