You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Node.js服务器部署LangChain代码时的OpenAI API密钥配置问题

解决方案

核心原因

LangChain v0.1版本后,OpenAI集成方式发生了更新,旧版的Configuration构造函数和直接设置OpenAI.api_key的写法已不再适用,这是你遇到两个报错的根本原因。

正确配置方式

1. 环境变量配置(生产环境推荐)

在Node.js环境中设置OPENAI_API_KEY环境变量,LangChain的OpenAI类会自动读取该变量:

  • 临时启动时设置:
OPENAI_API_KEY=你的API密钥 node 你的脚本文件名.js
  • 用.env文件持久化(需安装dotenv包):
    1. 安装依赖:npm install dotenv
    2. 在项目根目录创建.env文件,写入:
    OPENAI_API_KEY=你的API密钥
    
    1. 在代码顶部加载环境变量:
    import dotenv from "dotenv";
    dotenv.config();
    
    import { OpenAI } from "@langchain/openai";
    const model = new OpenAI({
      temperature: 0.7 // 可选:调整生成文本的随机性
    });
    

2. 代码中直接传入API密钥(测试场景可用)

无需使用Configuration,直接在OpenAI构造函数中传入apiKey参数:

import { OpenAI } from "@langchain/openai";

const model = new OpenAI({
  apiKey: "你的API密钥",
  temperature: 0.7
});

错误原因解析

  • OpenAI or Azure OpenAI API key not found:LangChain的OpenAI类不会读取静态的OpenAI.api_key属性,必须通过构造函数参数或环境变量传递密钥。
  • TypeError: Configuration is not a constructor:新版LangChain不再依赖旧版OpenAI SDK的Configuration类,所有配置直接通过OpenAI构造函数的参数传入。

额外注意事项

  • 确保安装的是@langchain/openai包,而非旧版的langchain/llms/openai,安装命令:npm install @langchain/openai
  • 生产环境禁止将API密钥硬编码到代码中,必须使用环境变量或密钥管理服务。

内容的提问来源于stack exchange,提问作者Bill

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 22:03:29