ArcLibrary

LangChain

最知名的 LLM 应用开发框架 —— 把「调模型 + 调工具 + 编排流程」标准化的脚手架。

LangChainFramework
核心 · Key Idea

一句话:LangChain 是用得最广的 LLM 应用开发框架。它把「调模型、调工具、做 RAG、串多步流程、跑 Agent」这些经常重复写的样板代码抽象成统一接口,让你少写胶水多写业务。Python 和 JS/TS 都有官方支持。

是什么#

没有框架时你要自己写:HTTP 调 OpenAI、解析回复、调向量库、拼 prompt、再调 OpenAI、再 parse……每个项目都重写一遍。

LangChain 把这些封装成可组合的「组件」:

# Python LCEL 写法
from langchain_openai import ChatOpenAI
from langchain_core.prompts import ChatPromptTemplate
 
prompt = ChatPromptTemplate.from_template("用一句话解释:{topic}")
llm = ChatOpenAI(model="gpt-4o-mini")
chain = prompt | llm   # 用 | 串起来
 
chain.invoke({"topic": "RAG"})

prompt | llm 这种「LCEL 表达式」是 LangChain 现在的核心抽象 —— 任何组件都能这样串起来。

打个比方#

打个比方 · Analogy

LangChain 像 Web 开发里的 Express / FastAPI

  • 没框架你也能写 HTTP 服务,但每次都要造路由、解析、中间件。
  • 框架替你处理掉这些,让你专注业务逻辑

关键概念#

LCELLangChain 表达式
用 | 串组件,自动支持 streaming / batch / async / 异常重试。
Runnable可执行单元
LangChain 一切组件的统一接口 —— 任何 Runnable 都能 invoke / stream。
Loaders / Splitters / Retrievers数据组件
RAG 链路里的「读文件 / 切分块 / 检索」三件套。
Tools工具
把 Python 函数 / API 包装成 Function Calling tool 的标准。
LangSmith可观测性平台
官方 SaaS:追踪 trace、看每步 token / 时间 / 错误 —— 调试 LangChain 的最大救命稻草。

怎么工作#

每个组件都遵循同一接口 —— 混搭组合就能做出 RAG / Agent / Workflow。

实操要点#

  • 从 LCEL 起步,别用旧 Chain 类:旧的 LLMChain / RetrievalQA 已经过时,新项目一律用 LCEL
  • 复杂 Agent 转 LangGraph:LangChain 适合线性 + 简单分支;多 Agent / 长循环 / 状态机请直接用 LangGraph。
  • 必上 LangSmith:免费层就够个人开发者用。有 trace 调 prompt 速度提升 5 倍
  • 不要锁死生态:LangChain 的封装非常厚,你随时能用 OpenAI SDK 自己写别一刀切,按需用
  • TS 版本接近功能对等:langchainjs 适合前端 / Next.js 全栈,不必非用 Python

易混点#

LangChain
全栈框架 —— 通用 LLM 应用编排。
LlamaIndex
专注 **RAG / 数据接入**。
在数据层做得更深,但应用层更轻。
LangChain
抽象高 —— 换模型 / 换 vector db **改一行**。
学习曲线 + 黑盒。
原生 OpenAI SDK
透明、零依赖。
每个项目要写更多胶水。

延伸阅读#