1-认识langchain.js

初始化项目

  • npm init -y

安装 LangChain 核心包

  • npm install langchain

安装 LangChain 的 OpenAI 适配器

  • npm install @langchain/openai

(可选) 安装环境变量管理包 dotenv,用于管理 API Key

  • npm install dotenv

  • .env环境变量

txt 复制代码
DEEPSEEK_API_KEY="sk-f89f4c441f4540e68fxxxxxxxxxxxx"
BASE_URL="https://api.deepseek.com"
AI_MODEL="deepseek-chat"
  • llm.js单次调用
js 复制代码
import { ChatOpenAI } from "@langchain/openai";
import * as dotenv from "dotenv";

// 加载环境变量
dotenv.config();

// 配置 DeepSeek 模型
const model = new ChatOpenAI({
  // 指定 DeepSeek 的模型名称,例如 deepseek-chat
  model: process.env.AI_MODEL,
  // 配置 DeepSeek 的 API Key
  apiKey: process.env.DEEPSEEK_API_KEY,
  // 配置 DeepSeek 的 Base URL
  configuration: {
    baseURL: process.env.BASE_URL,
  },
});

async function main() {
  try {
    // 调用模型
    const response = await model.invoke("你好,请介绍一下你自己。");// 单次调用
    console.log(response.content);
  } catch (error) {
    console.error("发生错误:", error);
  }
}

main();
  • node llm.js执行如下:

llm.js批量调用

js 复制代码
import { ChatOpenAI } from "@langchain/openai";
import * as dotenv from "dotenv";

// 加载环境变量
dotenv.config();

// 配置 DeepSeek 模型
const model = new ChatOpenAI({
  // 指定 DeepSeek 的模型名称,例如 deepseek-chat
  model: process.env.AI_MODEL,
  // 配置 DeepSeek 的 API Key
  apiKey: process.env.DEEPSEEK_API_KEY,
  // 配置 DeepSeek 的 Base URL
  configuration: {
    baseURL: process.env.BASE_URL,
  },
});

async function main() {
  try {
    // 调用模型
    // const response = await model.invoke("你好,请介绍一下你自己。");// 单次调用
    const response = await model.batch(["1 + 1 = 多少", "2 + 2 = 多少"]); // 批量调用
    console.log(response);
  } catch (error) {
    console.error("发生错误:", error);
  }
}

main();

llm.js流式调用

js 复制代码
import { ChatOpenAI } from "@langchain/openai";
import * as dotenv from "dotenv";

// 加载环境变量
dotenv.config();

// 配置 DeepSeek 模型
const model = new ChatOpenAI({
  // 指定 DeepSeek 的模型名称,例如 deepseek-chat
  model: process.env.AI_MODEL,
  // 配置 DeepSeek 的 API Key
  apiKey: process.env.DEEPSEEK_API_KEY,
  // 配置 DeepSeek 的 Base URL
  configuration: {
    baseURL: process.env.BASE_URL,
  },
});

async function main() {
  try {
    // 调用模型
    const response = await model.stream("1 + 1 = 多少"); // 流式调用
    for await (const chunk of response) {
      console.log(chunk);
    }
  } catch (error) {
    console.error("发生错误:", error);
  }
}

main();
  • 效果图如下:

常用的属性学习

js 复制代码
import { ChatOpenAI } from "@langchain/openai";
import * as dotenv from "dotenv";

// 加载环境变量
dotenv.config();

// 配置 DeepSeek 模型
const model = new ChatOpenAI({
  // 指定 DeepSeek 的模型名称,例如 deepseek-chat
  model: process.env.AI_MODEL,

  // 配置 DeepSeek 的 API Key
  apiKey: process.env.DEEPSEEK_API_KEY,
  // 配置 DeepSeek 的 Base URL
  configuration: {
    baseURL: process.env.BASE_URL,
  },
  temperature: 0.7, // 模型温度的范围是0到1,0表示严格和事实,1表示完全创意(就是瞎吉儿编)
  maxTokens: 1024, // 最大输出token数
  verbose: true, // 允许我们调试模型
});

async function main() {
  try {
    // 调用模型
    const response = await model.invoke("1 + 1 = 多少"); // 单次调用
    console.log(response);
  } catch (error) {
    console.error("发生错误:", error);
  }
}

main();
  • 这就是我们第一个LangChain应用程序和聊天机器人
相关推荐
财经资讯数据_灵砚智能2 分钟前
基于全球经济类多源新闻的NLP情感分析与数据可视化(夜间-次晨)2026年4月14日
人工智能·信息可视化·自然语言处理
唯创知音2 分钟前
主动红外和被动红外在智能家居中如何选择?
人工智能·智能家居
xwz小王子7 分钟前
RoboLab:机器人通用策略泛化的仿真评估
人工智能·深度学习·机器人
小江的记录本11 分钟前
【RAG】RAG检索增强生成(核心架构、全流程、RAG优化方案、常见问题与解决方案)
java·前端·人工智能·后端·python·机器学习·架构
七夜zippoe14 分钟前
OpenClaw 飞书深度集成:知识库管理
大数据·人工智能·飞书·集成·openclaw
●VON17 分钟前
【AI工具】本地部署 Dify + Ollama 实现无限 Token 智能体搭建
人工智能·学习·dify·智能体·本地·von
ZPC821018 分钟前
arm_controller/follow_joint_trajectory action
人工智能·计算机视觉·机器人
人工智能AI技术19 分钟前
向量数据库基础:给智能体提供长期精准记忆
人工智能
ZzT21 分钟前
我做了一个 Claude Code 多 Agent 工作流的可视化编排平台
人工智能·claude
sp_fyf_202425 分钟前
【大语言模型】 揭开指令混合用于大语言模型微调的神秘面纱
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理