欢迎光临
我们一直在努力

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

从不屑到佩服,我见证了AI领域的飞速发展。今天,我要向各位介绍一个改变游戏规则的工具:LangChain.js。它不仅仅是一个库,更是构建下一代AI应用的基石。

什么是LangChain.js?

LangChain.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,正是这场游戏的重要玩家。

    赞(0)
    未经允许不得转载:171主机测评 » LangChain.js入门:AI应用开发的新时代
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址