前端开发者的 AI 入场券:LangChain.js 完全学习资源指南

LangChain.js 是 LangChain 的 JavaScript/TypeScript 实现,为前端开发者提供构建大语言模型应用的模块化工具。其核心概念包括 ChatModel(统一模型接口)、PromptTemplate(可复用模板)、Chain(链式调用)、Tool & Agent(外部能力调用与自主决策)、RAG(检索增强生成)和 Memory(对话记忆管理)。与 Python 版相比,LangChain.js 能与 Next.js、React 等前端技术栈无缝集成,支持边缘部署

发布于2026年5月24日 22:43
编辑零重力瓦力
评论0
阅读136

LangChain 的 Python 版本热度极高,但很多人忽略了:LangChain 的 JavaScript/TypeScript 版本同样强大,而且对前端开发者更友好。如果你一直是写 JS/TS 的,想进入 AI 应用开发领域,LangChain.js 是最自然的入口。

一、LangChain.js 是什么

LangChain.js 是 LangChain 的 JavaScript/TypeScript 实现,专门用于构建基于大语言模型(LLM)的应用。它提供了一套模块化的抽象层,让你可以把 ChatModel、PromptTemplate、Tool、Memory 等组件像搭积木一样组合起来。

核心设计理念:Chain(链)——把多个组件串联成处理管道,从接收用户输入到产生最终输出,每一步都可组合、可替换。

二、六大核心概念

1. ChatModel / LLM

连接大语言模型的统一接口。支持 OpenAI、Google Gemini、Anthropic Claude 等主流模型,切换模型只需改一行配置:

import { ChatOpenAI } from "@langchain/openai";
import { ChatGoogleGenerativeAI } from "@langchain/google-genai";

// 用 OpenAI
const model = new ChatOpenAI({ modelName: "gpt-4o" });
// 换成 Gemini?只需替换这一行
const model = new ChatGoogleGenerativeAI({ model: "gemini-2.0-flash" });

2. PromptTemplate

把 prompt 从硬编码字符串变成可复用的模板,支持变量注入:

import { ChatPromptTemplate } from "@langchain/core/prompts";

const prompt = ChatPromptTemplate.fromMessages([
  ["system", "你是一个{role},用专业但易懂的方式回答问题"],
  ["human", "{question}"],
]);

const formatted = await prompt.invoke({ role: "前端架构师", question: "如何设计微前端" });

三种模板类型:String PromptTemplate(纯文本)、Chat PromptTemplate(对话格式)、MessagesPlaceholder(动态插入历史消息)。

3. Chain(链式调用)

用 pipe() 方法把 PromptTemplate → Model → OutputParser 串成管道:

import { StringOutputParser } from "@langchain/core/output_parsers";

const chain = prompt.pipe(model).pipe(new StringOutputParser());
const result = await chain.invoke({ role: "技术专家", question: "什么是 RAG" });

LangChain 的 LCEL(LangChain Expression Language)让链式调用像 Unix 管道一样自然——上一个组件的输出自动流入下一个。

4. Tool & Agent

Tool 是 Agent 可以调用的外部能力(搜索引擎、数据库查询、API 调用等)。Agent 则根据用户输入自主决定调用哪些 Tool、什么顺序调用:

import { tool } from "@langchain/core/tools";
import { createReactAgent } from "@langchain/langgraph/prebuilt";

const searchTool = tool(async ({ query }) => {
  // 调用搜索 API...
  return results;
}, {
  name: "web_search",
  description: "搜索互联网获取最新信息",
  schema: z.object({ query: z.string() }),
});

const agent = createReactAgent({ llm: model, tools: [searchTool] });

5. RAG(检索增强生成)

让 LLM 基于你的私有数据回答问题。流程分三步:文档分块 → 向量化与存储 → 检索相关片段 + 生成回答:

import { RecursiveCharacterTextSplitter } from "@langchain/textsplitters";
import { MemoryVectorStore } from "langchain/vectorstores/memory";

// 1. 文档分块
const splitter = new RecursiveCharacterTextSplitter({ chunkSize: 1000 });
const docs = await splitter.splitDocuments(rawDocs);

// 2. 向量化存储
const vectorStore = await MemoryVectorStore.fromDocuments(docs, embeddings);

// 3. 检索 + 生成
const retriever = vectorStore.asRetriever();
const ragChain = await createRetrievalChain(retriever, combineDocsChain);

6. Memory(记忆管理)

让对话应用记住上下文。LangChain.js 提供了多种记忆策略:Buffer Memory(保存全部历史)、Summary Memory(自动压缩历史为摘要)、Window Memory(只保留最近 N 轮)。

三、LangChain.js vs Python 版:关键差异

维度 LangChain.js Python LangChain
生态位置 与 Next.js、React、Node.js 无缝集成的唯一选择 Python AI 生态最完整
部署方式 Vercel Edge、Cloudflare Workers、Deno 等边缘运行时 传统服务器、Docker
前端集成 直接在浏览器/SSR 中调用,零中间层 需搭 API 中间层
包管理 @langchain/core + 按需安装子包 langchain 单包起步
社区资源 相对较少但在快速增长 最丰富

选择建议:如果你的应用前端是 JS/TS 技术栈,优先用 LangChain.js——少一层 API 转发意味着更低的延迟和更简单的架构。

四、LangGraph.js:从 Chain 到可控 Agent

LangGraph.js 是 LangChain 团队推出的低级 Agent 编排框架,被 Replit、Uber、LinkedIn、GitLab 等公司使用。它解决了传统 Agent 的最大痛点——可控性

  • 状态图(StateGraph):每个 Agent 步骤是一个节点,节点间的流转用边定义,支持条件分支和循环
  • 持久化:Agent 的每一步状态都可以持久化到数据库,中断后可恢复
  • 人工介入(Human-in-the-loop):在任何节点暂停等待人类审批后继续
import { StateGraph, END } from "@langchain/langgraph";

const graph = new StateGraph({ channels: stateSchema })
  .addNode("analyze", analyzeNode)
  .addNode("search", searchNode)
  .addNode("respond", respondNode)
  .addEdge("analyze", "search")
  .addConditionalEdges("search", routeDecision)
  .addEdge("respond", END);

当你的 Agent 需要复杂决策逻辑、多步审核或长时间运行时,LangGraph.js 比 AgentExecutor 更可靠。

五、推荐学习资源

官方资源

视频教程

实战项目

书籍

  • 《LangChainJS For Beginners》(Nathan Sebhastian):从零到部署的完整指南,涵盖 OpenAI、Gemini 等多模型

中文社区

六、5 分钟上手实战

如果你已经装好了 Node.js,只需要 3 步就能跑起来:

# 1. 安装核心包
npm install @langchain/core @langchain/openai

# 2. 设置 API Key
export OPENAI_API_KEY="your-key-here"

# 3. 第一个 Chain
import { ChatOpenAI } from "@langchain/openai";
import { ChatPromptTemplate } from "@langchain/core/prompts";
import { StringOutputParser } from "@langchain/core/output_parsers";

const model = new ChatOpenAI({ modelName: "gpt-4o-mini" });
const prompt = ChatPromptTemplate.fromMessages([
  ["system", "用最多3句话解释"],
  ["human", "{topic}"],
]);
const chain = prompt.pipe(model).pipe(new StringOutputParser());

const answer = await chain.invoke({ topic: "什么是 LangChain.js" });
console.log(answer);

七、总结

LangChain.js 不是 Python 版的"二等公民"。对于 JavaScript/TypeScript 开发者来说,它是构建 AI 应用最自然的工具选择——无需学 Python、无需搭中间层、直接在你熟悉的技术栈里拥抱 AI。

从 Chain 到 Agent,从 RAG 到 LangGraph,LangChain.js 的生态正在快速追赶 Python 版。现在上车,刚好赶上最活跃的发展期。


推荐学习路径:官方中文文档入门 → GitHub 教程动手做 → 视频课程深入理解 → LangGraph.js 进阶 Agent → 自己的项目中实战

相关文章

GPT-6 Astra 驱动本地 Blender 建模,从一句话直接生成可编辑工程文件
AI 编程开发
2026年9月14日
0 条评论
小创

GPT-6 Astra 驱动本地 Blender 建模,从一句话直接生成可编辑工程文件

AI 编程智能体可通过调用本地 Blender Python 接口,将自然语言转化为可编辑的 3D 工程文件,实现从文生图到图生 3D 的生产力突破。该模式支持渐进式迭代与技能固化,解决了传统生成模型不可二次编辑的痛点。但受限于无实时视口反馈,智能体在复杂拓扑与空间对齐上仍存盲区,需依赖视觉回检闭环规避风险。未来演进方向为接入多模态感知系统,以实现更精准的 3D 内容创作。

#AI工具#智能体#3D建模
阅读全文
Superpowers 让 26 款 AI 编程工具学会规范工程,28 万星智能体工作流实战
AI 编程开发
2026年9月14日
0 条评论
小创

Superpowers 让 26 款 AI 编程工具学会规范工程,28 万星智能体工作流实战

开源项目 Superpowers 通过强制工程化约束,解决 AI 编程工具输出混乱问题。该框架适配 26 款主流工具,内置 7 步标准工作流与模块化技能库,强制执行需求澄清、Git 分支隔离及测试驱动开发,将 AI 编码从自由生成转变为严谨的软件工程生命周期管理。虽能显著提升代码稳定性与可维护性,但子代理驱动模式会导致 API Token 消耗激增,大型项目需注意调用成本。

#智能体#vibe编程#开源
阅读全文
Codex 驱动本地 Blender 渲染 3D 场景,三轮提示词沉淀智能体技能
AI 编程开发
2026年9月14日
0 条评论
小创

Codex 驱动本地 Blender 渲染 3D 场景,三轮提示词沉淀智能体技能

独立研究员 Simon Willison 演示了利用 GPT-6 Astra 驱动本地 Blender 完成高质量 3D 场景渲染。该 Coding Agent 通过 Python API 执行无头渲染,具备视觉反思能力,可在三轮对话内将简单模型迭代至电影级画质,并将流程固化为可复用技能。此模式输出完整工程文件,支持二次编辑,重构了 3D 内容生产范式。尽管在复杂有机体建模上仍有局限,但标志着 AI 正作为技术美术精准调用工业软件生态。

#智能体#AI工具#3D
阅读全文
互动讨论

评论区

围绕《前端开发者的 AI 入场券:LangChain.js 完全学习资源指南》展开交流,未登录用户可浏览评论,登录后可参与讨论。

评论数
0
登录后参与评论
支持发表观点与回复一级评论,互动后将同步到消息中心。
登录后评论
暂无评论,欢迎成为第一个参与讨论的人。