LangChain.js入门:AI应用开发的新时代

发布时间:2026/9/27 20:01:34

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正是这场游戏的重要玩家。
延伸阅读

更多相关文章

2026/9/27 0:18:15

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

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

2026/9/25 14:26:24

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

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

2026/9/27 19:56:48

招生平台网站开发避坑指南:从0到1的速查手册

招生平台网站开发避坑指南:从0到1的速查手册 网站做好了没人访问?这是做招生平台最头疼的事。很多人花大价钱建站,结果上线后流量惨淡,原因很简单:功能太复杂,搜索权重低。这份速查手册帮你避开90%的坑,让招生平台既有流量又有转化。…

2026/9/27 19:51:48

警告!Cursor乱改代码?用TaoToken统一Key管住AI工具链

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

2026/9/27 0:00:45

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/27 0:00:45

东莞市品牌网站建设报价常见报错与解决

东莞品牌网站建设报价单背后:一份保姆级建站教程避坑实录 网站做好了没人访问,这大概是很多老板最头疼的事。花了大几万做的品牌站,上线后流量惨淡,比路边摊还冷清。别急着骂外包公司,很多“东莞品牌网站建设报价”里藏着不少猫腻,比如用模板站冒充定制…

2026/9/27 0:00:45

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/9/27 0:00:45

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/9/25 20:55:38

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/26 19:58:38

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/25 18:34:56

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑