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 是执行单元
相关推荐
华玥作者5 小时前
[特殊字符] VitePress 对接 Algolia AI 问答(DocSearch + AI Search)完整实战(下)
前端·人工智能·ai
Mr Xu_5 小时前
告别冗长 switch-case:Vue 项目中基于映射表的优雅路由数据匹配方案
前端·javascript·vue.js
前端摸鱼匠5 小时前
Vue 3 的toRefs保持响应性:讲解toRefs在解构响应式对象时的作用
前端·javascript·vue.js·前端框架·ecmascript
lang201509286 小时前
JSR-340 :高性能Web开发新标准
java·前端·servlet
ASKED_20196 小时前
Langchain学习笔记一 -基础模块以及架构概览
笔记·学习·langchain
好家伙VCC6 小时前
### WebRTC技术:实时通信的革新与实现####webRTC(Web Real-TimeComm
java·前端·python·webrtc
未来之窗软件服务7 小时前
未来之窗昭和仙君(六十五)Vue与跨地区多部门开发—东方仙盟练气
前端·javascript·vue.js·仙盟创梦ide·东方仙盟·昭和仙君
嘿起屁儿整7 小时前
面试点(网络层面)
前端·网络
VT.馒头7 小时前
【力扣】2721. 并行执行异步函数
前端·javascript·算法·leetcode·typescript
phltxy8 小时前
Vue 核心特性实战指南:指令、样式绑定、计算属性与侦听器
前端·javascript·vue.js