LangChain 入门与实践:从 LLM 调用到 AI 工作流的工程化思维
随着 ChatGPT 在 2022 年引爆 AIGC,基于 Transformer 的大语言模型(LLM)迅速进入应用层。然而,真正落地 AI 应用时,人们很快发现一个问题:调用模型很简单,构建复杂、可维护、可扩展的 AI 应用却很困难
LangChain 正是在这样的背景下出现的。


一、LangChain 是什么?为什么需要它
LangChain 是一个 AI 应用开发框架,其目标并不是“造一个模型”,而是帮助开发者高效组织和编排大语言模型能力
从命名上看:

  • Lang:Language / LLM(大语言模型)
  • Chain:将多个步骤、节点、能力串联起来

LangChain 的核心价值在于:
把一次 LLM 调用,升级为可组合、可复用、可编排的 AI 工作流。

这使得 AI 应用不再只是“一次 prompt + 一次返回”,而是具备工程结构的系统。


二、LangChain 的工程定位
在 AI 应用开发中,LangChain扮演的是中间层框架角色:

  • 向下:适配不同 LLM Provider(OpenAI、DeepSeek 等)
  • 向上:为业务提供统一、抽象的 AI 能力接口

关键特点

  • LLM 可插拔
  • 统一接口(Chat / Completion)
  • 提示词模块化
  • 流程可组合(Chain / Runnable)
  • 适合构建 Agent 与复杂 AI 系统

这也是为什么 LangChain 往往比具体模型“生命周期更长”。


三、Node.js + ESM + 环境配置
LangChain 在 Node.js 生态下具有良好的工程体验,典型配置包括:

  • 使用 ESM
{
  "type": "module"
}

 
  • 使用 dotenv 管理敏感信息
  • 使用 pnpm 安装依赖
 import { ChatDeepSeek } from '@langchain/deepseek';

const model = new ChatDeepSeek({
  model: 'deepseek-reasoner',
  temperature: 0
});

 

环境变量统一管理模型 Key:

import 'dotenv/config'
 

这符合现代后端与 AI 工程的最佳实践。


四、LLM 适配器模式:统一模型调用

import { ChatDeepSeek } from '@langchain/deepseek';

const model = new ChatDeepSeek({
  model: 'deepseek-reasoner',
  temperature: 0
});

 

这里体现了 LangChain 的适配器思想

  • 不关心底层 API 差异
  • 不需要手写请求逻辑
  • 模型可随时替换

在 LangChain 中,模型是资源,不是架构核心
 


五、PromptTemplate:提示词的工程化
在真实项目中,prompt 不应是随意拼接的字符串,而应是结构化、可复用的模板

const prompt = PromptTemplate.fromTemplate(`
你是一个{role}.
请用不超过{limit}字回答以下问题:
{question}
`);

通过 format 注入变量:

 const promptStr = await prompt.format({
  role: '前端面试官',
  limit: '50',
  question: '什么是闭包'
});

PromptTemplate 的价值在于:

  • 提示词逻辑集中管理
  • 参数化、可配置
  • 易于调优与迭代

六、Chain:从一次调用到流程编排
最简单的 Chain(Prompt → Model)

 const chain = prompt.pipe(model);

const response = await chain.invoke({
  topic: '闭包'
});

这里的 pipe 本质是:
将多个 Runnable 节点 串联成一个执行流程

每个节点:

  • 可执行
  • 可替换
  • 可独立测试

RunnableSequence:多步骤 AI 工作流

const fullChain = RunnableSequence.from([
  (input) => explainChain.invoke({ topic: input.topic }).then(res => res.text),
  (explanation) =>
    summaryChain.invoke({ explanation })
      .then(res => `知识点:${explanation} 总结:${res.text}`)
]);

 

这个例子体现了 AI 应用的真实形态:

  1. 第一步:生成详细解释
  2. 第二步:基于结果进行总结
  3. 步骤之间通过数据流衔接

这已经不是“调模型”,而是:
用 LLM 构建可控的业务流程
 


七、LangChain 的核心编程范式
通过这些示例,可以总结出 LangChain 的 AI 编程范式:
LLM 是黑盒,但 Prompt 是入口

  • Prompt = 控制模型行为的唯一方式
  • Prompt 需要工程化管理

AI 能力需要“拆步骤”
复杂问题 ≠ 一次调用解决
而是:

  • 拆解任务
  • 每一步职责清晰
  • 串联成工作流

Chain 是 AI 应用的核心抽象

  • Prompt 是节点
  • Model 是节点
  • Chain 是流程
  • Runnable 是执行单元



 

原文: https://juejin.cn/post/75872398
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐