5分钟上手LangChain.js:用DeepSeek给你的App加上AI能力

之前我的想法是这样的:ChatGPT这么强,怎么才能把它接到我的 Node 项目里?直接调 API 不行吗?

当然可以。但如果你的需求不只是"发一句话等回复",而是想让 AI 记住对话上下文从自己的知识库里找答案 、甚至自己决定调用哪个函数------这时候 LangChain 就派上用场了。

我也是个 JS/TS 开发者,之前翻 LangChain 官方文档,满眼都是 Python 示例,倒不是说不能看,但是确实看着不太舒服,偶尔遇到不熟悉的api还需要查文档或问AI。好在现在 1.0 版本已经很成熟,今天我就用最少的代码,带你跑通第一个 LangChain.js 应用,而且用的是国内友好的 DeepSeek API

第一步:装包

新建一个空目录,初始化并安装依赖:

bash 复制代码
mkdir langchain-demo
cd langchain-demo
npm init -y
npm install langchain @langchain/openai

等等,你不是说用 DeepSeek 吗,怎么装的是 @langchain/openai

因为 DeepSeek 提供了完全兼容 OpenAI 的接口 ,我们只需要改一行 baseURL 就行,这是 LangChain 统一接口设计的好处。

第二步:拿个 API Key

DeepSeek 开放平台 注册个账号,在 API Keys 页面生成一个密钥,复制下来。

第三步:写代码

项目根目录新建 index.js,把下面这段粘进去:

js 复制代码
import { ChatOpenAI } from "@langchain/openai";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { StringOutputParser } from "@langchain/core/output_parsers";

// 1. 用 DeepSeek 的接口,只改 baseURL 和 model 名
const model = new ChatOpenAI({
  apiKey: '你的api key',
  model: "deepseek-chat",
  temperature: 0.7,
  baseURL: "https://api.deepseek.com/v1",
});

// 2. 写个提示词模板,{topic} 是占位符
const promptTemplate = ChatPromptTemplate.fromMessages([
  ["system", "你是一个幽默的脱口秀演员。"],
  ["human", "给我讲一个关于{topic}的笑话。"],
]);

// 3. 输出解析器:把 AI 的回复转成纯文本
const outputParser = new StringOutputParser();

// 4. 用 .pipe() 串成一条链
const jokeChain = promptTemplate.pipe(model).pipe(outputParser);

// 5. 执行
async function main() {
  const joke = await jokeChain.invoke({
    topic: "程序员",
  });
  console.log(joke);
}

main().catch(console.error);

然后跑起来:

复制代码
node index.js

如果一切顺利,你会看到类似这样的输出:

ini 复制代码
为什么程序员总分不清万圣节和圣诞节?
因为 Oct 31 == Dec 25!
(八进制31等于十进制25)

简单来说,一个典型的链式工作流是:

用户输入 + 提示词模板 ➡️ 构造完整提示 ➡️ 发送给模型 ➡️ 获取模型原始输出 ➡️ 解析为可用格式

这短短十几行,藏了 LangChain 四个最核心的概念

概念 在你的代码中对应 作用
📝 提示词模板 (Prompt Templates) ChatPromptTemplate 将用户输入(如{topic})和固定指令组合,构造出给模型的完整提示。它使提示可复用、可管理。
🧠 模型 (Models) ChatOpenAI 这是与大语言模型(LLM)交互的接口。LangChain支持多种提供商(OpenAI、Anthropic、本地模型等),通过统一的接口调用。
🔧 输出解析器 (Output Parsers) StringOutputParser 将模型输出的原始响应(通常是复杂的对象)解析、转换成你应用程序容易处理的格式(如字符串、JSON对象)。
⛓️ 链 (Chains) promptTemplate.pipe(model).pipe(outputParser) 链是LangChain的灵魂 。它通过 .pipe() 方法,将多个组件(模板、模型、解析器等)按顺序组合 成一个可执行的工作流。jokeChain.invoke 就是执行这个工作流。

跑通之后,建议你动手改一改

  • topic 换成"猫"、"面试"、"股票"......看看 AI 的幽默感稳不稳定;

  • temperature 改成 0.1 和 0.9 各跑一次,感受一下"确定性"和"创造力"的区别;

  • 删掉 .pipe(outputParser),看看 invoke 返回的原始对象长什么样。

这些改动花不了两分钟,但对理解 LangChain 的工作流非常有帮助。

写在最后

这只是 LangChain 世界里的 "Hello World" 。一旦你习惯了 模型 → 模板 → 解析器 → 链 这个模式,后面学 RAG(检索增强生成)、Agent(智能体)都会非常顺畅。

这篇文章用的是 LangChain.js 1.0 的最新 API。如果你也在用 JS/TS 做 AI 应用,别再被 Python 教程劝退了------这套工具链,我们前端用着也挺顺手,希望可以帮助你入门~

相关推荐
AIGCmagic社区几秒前
文档智能专题:小模型后训练怎么选样本?PaddleOCR-VL-1.6按三类弱点挖掘
人工智能·aigc·文档智能
汉堡大王95274 分钟前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
55873 生态系统9 分钟前
# 55873生态系统互联网四代演进研究:从 Web1.0 至第四代互联网的时代跃迁
人工智能·55873全域文明生态体系·55873操作系统·全域文明生态系统
AIGCmagic社区10 分钟前
文档智能专题:HunyuanOCR-1.5用DFlash把整页解码压到1.4秒
人工智能·aigc·文档智能
71777716 分钟前
研发平台选哪家比较好:2026年主流平台对比与Gitee选型指南
人工智能·gitee
u13013017 分钟前
GitHub 热榜项目:日榜(2026-09-21)
人工智能·github
2601_9556624621 分钟前
短剧多人对白怎么配?2026年多角色配音工具对比
大数据·人工智能·音视频·语音识别
梦想很大很大23 分钟前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
2601_9622186125 分钟前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法
计算机魔术师28 分钟前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端