2022 年 ChatGPT 爆火之后,大语言模型(LLM)迅速成为开发者关注的焦点。但如何工程化地构建基于 LLM 的应用?这时候,LangChain 就派上用场了!
LangChain 不是另一个大模型,而是一个 AI 应用开发框架,它让你能像搭积木一样,把提示词(Prompt)、模型(Model)、工具(Tool)等组件串联成可维护、可复用的工作流 🔗。
今天,我们就从零开始,一步步用 LangChain + DeepSeek 构建一个前端知识问答助手 💡。
🌱 第一步:环境准备 & 基础调用
首先,安装必要依赖:
npm init -y
npm install langchain @langchain/deepseek dotenv
并在 package.json 中设置 "type": "module",启用 ES 模块语法。
接着,只需几行代码,就能调用 DeepSeek 的 deepseek-reasoner 模型:
import 'dotenv/config';
import { ChatDeepSeek } from '@langchain/deepseek';
const model = new ChatDeepSeek({
model: 'deepseek-reasoner',
temperature: 0.5, // 控制创造性:0 最稳定,1 最天马行空
});
const res = await model.invoke('用一句话解释一下什么是RAG?');
console.log(res.content);
✅ 关键点:LangChain 通过适配器(Adapter)统一了不同 LLM 的接口,你无需关心底层 API 差异,只需专注业务逻辑!
✨ 第二步:引入 Prompt Template —— 让输入更结构化
硬编码提示词不够灵活。LangChain 提供了 PromptTemplate,支持变量插值:
const prompt = PromptTemplate.fromTemplate(`
你是一个{role}。请用不超过{limit}字回答以下问题: {question}
`);
const promptStr = await prompt.format({
role: '后端面试官',
limit: '50',
question: '什么是闭包'
});
这样,同一个模板可以用于不同角色、不同长度限制的问题,大幅提升复用性 🔄。
⛓️ 第三步:构建 Chain —— 组合 Prompt 与 Model
LangChain 的核心思想是 Chain(链) :将多个可执行单元(Runnable)通过 .pipe() 连接起来。
const chain = prompt.pipe(model);
const response = await chain.invoke({ topic: '闭包' });
console.log(response.text);
这形成了一个简单但完整的流水线:
输入 → Prompt 模板填充 → LLM 推理 → 输出
这种声明式写法清晰、易测试,也便于后续扩展 🧪。
🧠 第四步:多步工作流 —— RunnableSequence 实现复杂逻辑
真实场景往往不止一步。比如:先详细解释一个概念,再提炼核心要点。
LangChain 提供 RunnableSequence,让你定义多阶段流程:
const explainChain = explainPrompt.pipe(model);
const summaryChain = summaryPrompt.pipe(model);
const fullChain = RunnableSequence.from([
(input) => explainChain.invoke({ topic: input.topic }).then(res => res.text),
(explanation) => summaryChain.invoke({ explanation }).then(
res => `知识点:${explanation}\n总结:${res.text}`
)
]);
const response = await fullChain.invoke({ topic: '闭包' });
🎯 效果:
- 第一阶段:生成 300 字内的前端专家级解释
- 第二阶段:自动提炼为 3 个不超过 20 字的核心要点
这就是 AI 应用的工程化思维:把黑盒 LLM 拆解为可控制、可组合的步骤!
🎯 总结:为什么选择 LangChain?
- 统一接口:屏蔽不同 LLM 的差异(OpenAI、DeepSeek、Anthropic…)
- 模块化设计:Prompt、Chain、Agent、Memory 各司其职
- 可组合性:像搭乐高一样构建复杂 AI 工作流 🧱
- 生态丰富:支持检索增强(RAG)、工具调用、Agent 等高级模式
LangChain 不是让你“调用一次模型”,而是帮你构建可持续演进的 AI 应用系统。
🔮 下一步?
- 尝试加入 RAG(检索增强生成) ,让回答基于你的文档
- 引入 Memory 实现多轮对话
- 用 Agent 让 LLM 自主调用工具(如搜索、计算)
AI 应用开发的未来,不在 prompt engineering,而在 workflow engineering。而 LangChain,正是这条路上的最佳伙伴 🤖✨。
Happy Coding!💻🔥