LangChain.js入门:AI应用开发的新时代
从不屑到佩服我见证了AI领域的飞速发展。今天我要向各位介绍一个改变游戏规则的工具LangChain.js。它不仅仅是一个库更是构建下一代AI应用的基石。什么是LangChain.jsLangChain.js是LangChain的JavaScript/TypeScript版本是一个为大语言模型(LLM)应用开发而设计的框架。如果你曾经想过如何将ChatGPT这样的AI能力无缝集成到你的应用中LangChain.js就是你的不二之选。简单来说LangChain.js就像是AI能力的乐高积木让你能够轻松组装出复杂的AI应用。为什么选择LangChain.js当我第一次接触LangChain.js时我的反应是这不就是我一直在寻找的东西吗作为一个经常与JavaScript打交道的开发者我深知在JS生态中构建AI应用的挑战。以下是LangChain.js的几大优势原生JavaScript支持不需要Python环境直接在Node.js或浏览器中运行模块化设计像搭积木一样构建你的AI应用多模型支持OpenAI、Anthropic、Hugging Face等应有尽有丰富的工具集从文本处理到向量数据库一应俱全活跃的社区问题解决和最佳实践触手可及LangChain.js vs Python版本那么LangChain.js和Python版本有什么区别呢这是我经常被问到的问题。虽然两者在核心概念上保持一致但LangChain.js针对JavaScript生态进行了优化使用Promise而非异步/等待语法与Node.js和前端框架的无缝集成针对JavaScript开发者的API设计更轻量级的依赖环境准备在开始LangChain.js之旅前你需要准备# 创建新项目 mkdir my-langchain-app cd my-langchain-app npm init -y # 安装LangChain 核心库提供langchain的基本能力 npm install langchain/core # 我们以使用deepseek llm为例所以安装langchain/deepseek提供与deepseek交互的能力 npm install langchain/deepseek随后在项目中找到package.json添加 type为module配置为让项目支持ES module形式的模块组织形式# /package.json { ...其他配置 type: module, }你的第一个LangChain.js应用让我们创建一个简单的应用向deepseek的模型提问。首先在项目文件夹下创建入口文件index.js编写应用代码import { ChatDeepSeek } from langchain/deepseek; // 初始化 DeepSeek 模型 const llm new ChatDeepSeek({ // DeepSeek API Key apiKey: sk-xxxxxxxx, // 控制回答随机性 // 0最稳定适合代码、数学 // 0.7平衡适合日常聊天常用 // 越大回答越有创造性 temperature: 0.7, // 使用的模型 // deepseek-chat通用聊天模型 // deepseek-coder代码模型 // deepseek-reasoner推理模型 modelName: deepseek-chat, // 最大输出 Token 数量 // 越大回答越长 maxTokens: 100, }); async function main() { // 调用模型发送问题 const result await llm.invoke( 解释一下量子计算的基本原理用通俗的语言 ); // 打印完整 AIMessage 对象 console.log(result); // 只打印 AI 回复内容 console.log(result.content); } // 执行函数 main();2. 完成代码编写可以运行你的AI 应用了AIMessage { // AI 消息的唯一 ID id: a5c34373-4b81-4dea-b9a3-b1dbfa7d14bd, // AI 实际返回的文本内容 content: 好的我们用最通俗的方式来聊聊量子计算。\n\n想象一下你正在玩一个**迷宫游戏**要找出口。\n\n**传统计算机经典计算机** 就像一个**很勤奋但一次只能走一条路**的探险家。他站在岔路口先走左边如果走不通就退回来再走右边。他速度很快但本质上是一个一个地试直到找到出口。\n\n**量子计算机** 则像一个\*\*会“分身术”的探险, // 额外参数 additional_kwargs: {}, // 模型返回的元数据 response_metadata: { // Token 使用情况 tokenUsage: { // 输入 Token 数量 promptTokens: 14, // 输出 Token 数量 completionTokens: 100, // 输入 输出 Token 总数 totalTokens: 114 }, // 生成结束的原因 // length 表示达到 maxTokens 限制导致输出被截断 finish_reason: length, // 模型提供商 model_provider: deepseek, // 实际使用的模型 model_name: deepseek-v4-flash, // 更详细的 Token 使用情况 usage: { // 输入 Token prompt_tokens: 14, // 输出 Token completion_tokens: 100, // 总 Token total_tokens: 114, // 输入 Token 的详细信息 prompt_tokens_details: { // 缓存命中的 Token cached_tokens: 0, // Prompt Cache 命中的 Token prompt_cache_hit_tokens: 0, // Prompt Cache 未命中的 Token prompt_cache_miss_tokens: 14 } }, // DeepSeek 当前模型/服务版本相关的指纹 system_fingerprint: fp_a18b46594c_prod0820_fp8_kvcache_20260402 }, // 工具调用相关的信息 // [] 表示本次没有调用工具 tool_calls: [], // 无效的工具调用 // [] 表示没有无效工具调用 invalid_tool_calls: [], // LangChain 对 Token 使用情况的统一记录 usage_metadata: { // 输出 Token output_tokens: 100, // 输入 Token input_tokens: 14, // 总 Token total_tokens: 114, // 输入 Token 详细信息 input_token_details: { // 从缓存读取的 Token cache_read: 0 }, // 输出 Token 详细信息 output_token_details: {} } }就这么简单几行代码你就已经创建了一个基础的与AI交互的应用。结语这只是LangChain.js的冰山一角。在接下来的系列文章中我们将深入探讨LangChain.js的各个模块从链式调用到代理系统从记忆机制到工具集成。无论你是想构建一个智能客服机器人还是开发一个AI驱动的内容生成平台LangChain.js都能为你提供所需的工具和抽象。记住AI应用开发的未来不在于谁能访问最强大的模型而在于谁能最巧妙地组合和应用这些模型。而LangChain.js正是这场游戏的重要玩家。

相关新闻

基于协同过滤算法的SpringBoot+Vue美食推荐平台全栈实战

基于协同过滤算法的SpringBoot+Vue美食推荐平台全栈实战

你有没有过这样的经历:刷到一个美食分享平台,看着精美的菜品图片和诱人的描述,却总觉得推荐给你的内容差那么点意思?要么是重复推送你已经收藏过的菜系,要么就是完全不符合你的口味。这背后,往往是因为平台…

2026/10/11 6:18:43 阅读更多 →
Redis核心特性与生产环境实践指南

Redis核心特性与生产环境实践指南

1. Redis初探:为什么它成为开发者必备技能? 2009年,当Salvatore Sanfilippo为了解决他公司的实时日志分析问题而开发出Redis时,可能没想到这个用ANSI C编写的小工具会成为全球最受欢迎的键值数据库之一。作为开发者,我…

2026/10/7 5:36:25 阅读更多 →
提升内容可读性:灰色文本框的设计原理与多平台实现指南

提升内容可读性:灰色文本框的设计原理与多平台实现指南

1. 从“白纸黑字”到“视觉焦点”:为什么我们需要灰色文本框? 写博客、做笔记、整理文档,你有没有遇到过这样的场景:一大段文字里,有那么几行特别重要,你想让读者一眼就看到;或者有一段代码、一…

2026/10/9 16:21:43 阅读更多 →

最新新闻

PAM认证模块源码编译与升级实战:从1.3.0到1.3.1

PAM认证模块源码编译与升级实战:从1.3.0到1.3.1

简介:Linux-PAM(Pluggable Authentication Modules)1.3.0源代码包,面向Linux系统管理员、安全运维人员及开发者,用于理解并定制登录、服务访问等场景下的模块化认证机制。PAM以插件方式将认证逻辑从服务程序中解耦&…

2026/10/11 12:56:41 阅读更多 →
Linux-PAM 1.3.x编译安装全攻略:从认证架构到账户锁定实战

Linux-PAM 1.3.x编译安装全攻略:从认证架构到账户锁定实战

简介:这份 Linux-PAM 1.3.0 源码包面向系统管理员、运维工程师与安全方向学习者,用于在 Linux 上部署和定制可插拔认证模块(PAM),解决多服务统一认证、密码策略、访问控制等场景需求,也适合需要深入理解认证…

2026/10/11 12:56:41 阅读更多 →
diffpdf 实战:PDF 内容比对原理、模式选型与自动化核对流水线

diffpdf 实战:PDF 内容比对原理、模式选型与自动化核对流水线

简介:diffpdf是一款面向文档审阅、校对与版本核对场景的PDF比较工具,适合软件开发、学术论文校对、法律合同审查及出版校样等需要快速定位两版文档差异的用户。它提供格式比对与文本比对两种模式,前者兼顾字体、字号、颜色与排版差异&#xf…

2026/10/11 12:56:41 阅读更多 →
LangAlpha 架构深度解析:多 Worker 后端、SSE 流式与沙箱文件持久化如何支撑 AI 金融研究助手

LangAlpha 架构深度解析:多 Worker 后端、SSE 流式与沙箱文件持久化如何支撑 AI 金融研究助手

【免费下载链接】LangAlpha Claude Code for Financial Market 项目地址: https://gitcode.com/gh_mirrors/la/LangAlpha 点击查看 免费下载 LangAlpha 是一款面向金融市场的开源 AI Agent 研究助手(Claude Code for Financial Market)&…

2026/10/11 12:56:41 阅读更多 →
基于UDP的Linux Socket编程:简单聊天室实现与踩坑指南

基于UDP的Linux Socket编程:简单聊天室实现与踩坑指南

最近在折腾一个内网消息推送的小工具:一台服务端要往十几个终端上发状态通知,每条消息撑死几十个字节,频率也不算高。一开始我用 TCP 写,结果发现每个终端都要维护一个 socket、处理重连、还要考虑半包粘包,代码越写越…

2026/10/11 12:56:41 阅读更多 →
深度学习交通流量预测与可视化:从LSTM时序模型到FastAPI+ECharts部署

深度学习交通流量预测与可视化:从LSTM时序模型到FastAPI+ECharts部署

简介:基于深度学习的交通流量预测可视化网站完整源码包,面向计算机、数学、电子信息等专业学生的课程设计、期末大作业与毕业设计场景,也适合深度学习入门者作为项目实战参考。包体共2007个文件,压缩包大小约102.37MB,…

2026/10/11 12:55:40 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 10:38:42 阅读更多 →