不止是调用 LLM:用 LangChain 编排下一代 AI 应用
2022 年,ChatGPT 横空出世,引爆了全球对生成式人工智能(AIGC)的关注。其背后依托的 Transformer 架构,使得大语言模型(LLM)在理解与生成人类语言方面取得了前所未有的突破。然而,仅仅调用一个 LLM 接口,并不足以构建真正可用、可维护、可扩展的 AI 应用。
事实上,在 ChatGPT 走红之前,LangChain 项目就已经诞生。它并非另一个聊天机器人,而是一个专为 AI 应用开发设计的开源框架。LangChain 的出现,标志着 LLM 从“玩具级演示”迈向“工程化落地”的关键一步——它让开发者能够以结构化、模块化的方式,将语言模型集成到真实业务场景中。
什么是 LangChain?
LangChain 的名字由两部分组成:Lang + Chain。
- Lang 代表 Language Model(语言模型),即我们所依赖的大模型能力,如 GPT、DeepSeek、Claude 等。
- Chain 则指“链”,灵感来源于工作流编排工具(如 n8n、Coze),强调将复杂的 AI 任务拆解为多个可连接的“节点”(Node),每个节点完成特定功能,再通过链式调用组合成完整流程。
简言之,LangChain 是一个用于构建 LLM 应用的开发框架。它提供了一套统一的抽象接口,无论你使用的是 OpenAI、DeepSeek 还是本地开源模型,都能以相同的方式调用 chat 或 completion 功能。这种设计实现了 LLM 的“可拔插” ——模型可以随时更换,而核心业务逻辑无需重写。
更重要的是,LangChain 支持提示词模板(PromptTemplate)、记忆管理(Memory)、工具调用(Tools)、智能体(Agent)以及复杂工作流(Chain/Graph)等高级能力,使开发者能像搭积木一样构建智能应用。
实战演练:基于 Node.js 与 DeepSeek 的 LangChain 应用
下面我们通过一个完整的 JavaScript 示例,展示如何使用 LangChain 快速构建一个可扩展的 AI 应用。
1. 项目初始化(启用 ESM)
LangChain 官方推荐使用 ES 模块(ESM)。在 package.json 中添加:
{
"type": "module"
}
这允许我们使用 import 语法,符合现代 JavaScript 开发规范。
2. 安装依赖
npm install langchain @langchain/deepseek dotenv
其中:
langchain:核心框架@langchain/deepseek:DeepSeek 模型的官方适配器(Adapter)dotenv:用于加载.env中的 API 密钥
3. 配置环境变量
创建 .env 文件:
DEEPSEEK_API_KEY=your_deepseek_api_key_here
注意:API 密钥不要提交到代码仓库!
4. 编写应用代码
// app.js
import { ChatDeepSeek } from "@langchain/deepseek";
import { PromptTemplate } from "@langchain/core/prompts";
import { RunnableSequence } from "@langchain/core/runnables";
import "dotenv/config";
// 1. 初始化模型(可拔插!)
const model = new ChatDeepSeek({
model: "deepseek-reasoner",
temperature: 0.7,
});
// 2. 定义提示词模板
const explainPrompt = PromptTemplate.fromTemplate(
"你是一位资深前端工程师,请用专业但易懂的语言解释以下概念:{concept}"
);
const summaryPrompt = PromptTemplate.fromTemplate(
"请将以下技术解释总结为不超过20字的三个要点,用中文回答:\n{explanation}"
);
// 3. 构建两条子链
const explainChain = explainPrompt.pipe(model);
const summaryChain = summaryPrompt.pipe(model);
// 4. 组合成完整工作流
const fullChain = RunnableSequence.from([
async (input) => {
const explanation = await explainChain.invoke(input);
return { explanation: explanation.content, concept: input.concept };
},
async (context) => {
const summary = await summaryChain.invoke({ explanation: context.explanation });
return {
concept: context.concept,
explanation: context.explanation,
summary: summary.content,
};
},
]);
// 5. 执行
const result = await fullChain.invoke({ concept: "JavaScript 闭包" });
console.log("概念:", result.concept);
console.log("详解:", result.explanation);
console.log("总结:", result.summary);
5. LangChain 的核心:以 Pipe 管道 连接 Runnable 节点,构建声明式 AI 工作流
LangChain 的设计哲学可以高度概括为一句话:
“一切皆 Runnable,通过 Pipe 串联,形成可编排的工作流。”
🔧 1. 三大基础节点类型
- Prompt 模板节点(如
PromptTemplate)
负责将结构化输入(如{concept})渲染成 LLM 可理解的自然语言提示。它是工作流的“输入处理器”。 - LLM 节点(如
ChatDeepSeek、ChatOpenAI)
代表大语言模型本身,是工作流中的“推理引擎”。LangChain 将所有 LLM 统一抽象为Runnable,屏蔽底层 API 差异。 - 结束/输出节点(通过
.invoke()触发)
整个工作流由await chain.invoke(input)启动,最终返回结构化结果。这是用户与 AI 系统的交互入口。
🔗 2. 核心机制:.pipe() —— 构建数据管道
const explainChain = explainPrompt.pipe(model);
.pipe()是 LangChain 的核心连接符,它将两个Runnable对象组合成一个新的Runnable。- 数据流自动从前一个节点的输出流向后一个节点的输入,形成 “提示 → 推理” 的最小工作单元。
- 多个
.pipe()可级联,例如:prompt.pipe(tool).pipe(model).pipe(parser),实现复杂处理链。
💡 这正是“Lang + Chain”中 “Chain” 的本质:不是简单调用,而是可组合的数据流管道。
🧩 3. 高阶编排:RunnableSequence = 声明式 Workflow
当任务无法用单条线性链表达时(例如需要保留中间状态、做条件分支或聚合多个子结果),LangChain 提供 RunnableSequence.from([...]):
- 它允许你用函数数组定义多步骤流程;
- 每一步可以是任意异步逻辑(调用子链、访问数据库、调用工具等);
- 前一步的返回值自动作为下一步的输入,形成可控的顺序执行流。
这本质上是一种 轻量级 SequentialChain(顺序链) ,是 LangChain 从“单链”走向“工作流(Workflow)”的关键桥梁。
🌐 4. 向更复杂系统演进
这种基于 Runnable + Pipe + Sequence 的范式,正是 LangChain 支持更高级能力的基础:
- Agent:在 Sequence 中插入“决策循环”,动态选择下一步工具;
- LangGraph:将线性 Sequence 扩展为有向图(支持分支、跳转、记忆);
- Memory & Tools:作为特殊 Runnable 节点插入管道中。
6. 可扩展性演示
若未来你想切换到 OpenAI 的 GPT-4,只需修改模型初始化部分:
import { ChatOpenAI } from "@langchain/openai";
const model = new ChatOpenAI({ model: "gpt-4o", temperature: 0.7 });
其余代码(Prompt、Chain、流程)完全无需改动!这就是 LangChain “统一接口 + 适配器”设计的强大之处。
结语
LangChain 不仅是一个工具库,更是一种 AI 工程化思维的体现。它将 LLM 从“黑盒调用”转变为“可控组件”,让开发者能够构建稳定、灵活、可维护的智能应用。无论你是想做智能客服、知识问答、文档生成,还是自动化 Agent,LangChain 都提供了坚实的基础设施。
随着 AIGC 技术的快速演进,选择一个支持多模型、高内聚低耦合的框架,将成为 AI 应用成功的关键。而 LangChain,正是这一趋势下的理想选择。