LangChain 入门与实践:从 LLM 调用到 AI 工作流的工程化思维

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

    json 复制代码
    {
      "type": "module"
    }
  • 使用 dotenv 管理敏感信息

  • 使用 pnpm 安装依赖

bash 复制代码
pnpm i @langchain/deepseek @langchain/core dotenv

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

arduino 复制代码
import 'dotenv/config'

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


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

javascript 复制代码
import { ChatDeepSeek } from '@langchain/deepseek';

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

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

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

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


五、PromptTemplate:提示词的工程化

在真实项目中,prompt 不应是随意拼接的字符串,而应是结构化、可复用的模板

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

通过 format 注入变量:

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

PromptTemplate 的价值在于:

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

六、Chain:从一次调用到流程编排

最简单的 Chain(Prompt → Model)

ini 复制代码
const chain = prompt.pipe(model);

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

这里的 pipe 本质是:

将多个 Runnable 节点 串联成一个执行流程

每个节点:

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

RunnableSequence:多步骤 AI 工作流

javascript 复制代码
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 是执行单元
相关推荐
cypking2 小时前
CSS 常用特效汇总
前端·css
程序媛小鱼2 小时前
openlayers撤销与恢复
前端·js
Thomas游戏开发2 小时前
如何基于全免费素材,0美术成本开发游戏
前端·后端·架构
若梦plus2 小时前
Hybrid之JSBridge原理
前端·webview
chilavert3182 小时前
技术演进中的开发沉思-269 Ajax:拖放功能
前端·javascript·ajax
xiaoxue..2 小时前
单向数据流不迷路:用 Todos 项目吃透 React 通信机制
前端·react.js·面试·前端框架
工藤学编程2 小时前
AI Ping 赋能:基于 GLM-4.7(免费!)+ LangChain + Redis 打造智能AI聊天助手
人工智能·redis·langchain
若梦plus2 小时前
Canvas基础
前端·canvas
若梦plus2 小时前
Canvas的未来之AI绘图、生成式视觉与XR
前端·canvas