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应用程序和聊天机器人
相关推荐
外域速览3 小时前
OpenAI 智能体「越狱」风波未平,苹果折叠屏 iPhone Ultra 下周三登场
人工智能·ios·iphone
william_yangshun7 小时前
【AI Agent 实战】agent-vision-toolkit 中文版:给纯文本模型(DeepSeek)装上视觉能力
人工智能·多模态
智能体与具身智能7 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
AI智能体工作室7 小时前
生产级 RAG 检索增强架构实战:向量数据库、混合检索(Hybrid Search)、RRF 融合与重排(Rerank)全链路
人工智能
geinvse_seg7 小时前
我做了个 AI 架构审查员,把整个微服务项目通读了一遍,还顺手做成了 Skill
人工智能
李帅朋7 小时前
微分基本定义笔记
人工智能·笔记·深度学习·神经网络
醍醐实验室8 小时前
下一代端到端全模态(Omni)模型解密:离散音频 Token 化与极速双工流式交互架构
人工智能
米小虾8 小时前
你的 Agent 有 1000 万上下文,为什么第 50 轮就开始失忆?
人工智能·agent
东风破_8 小时前
Text2SQL :用自然语言操作 SQLite 数据库
人工智能·后端
吴佳浩 Alben8 小时前
Agent 怎么做自动化评测?构建端到端的 Agent Evaluation 体系
人工智能·语言模型·架构·自动化·ai编程