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

Node.js调用OpenAI API遇Cannot find module '@openai/api'错误求助

问题分析与解决方案

错误原因

  1. 废弃包导致安装失败:@openai/api是OpenAI早期的Node.js SDK,现已被官方废弃并从npm仓库移除,因此执行npm install @openai/api会返回404错误,无法完成安装。
  2. 代码与依赖不匹配:测试脚本中使用require('openai'),但实际未正确安装官方当前维护的openai包,导致Node.js找不到对应模块。

解决步骤

1. 安装官方最新SDK

先卸载残留的无效依赖(如果之前尝试安装过),再安装官方当前的openai包:

# 卸载旧包(若有残留)
npm uninstall @openai/api
# 安装官方最新包
npm install openai

2. 适配新SDK修改代码

新的openai包API结构与旧版不同,需调整测试脚本:

const { OpenAI } = require('openai');

// 初始化客户端
const openai = new OpenAI({
  apiKey: 'sk-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
});

async function runTest() {
    try {
        const gpt3Response = await openai.completions.create({
            // 注意:davinci-codex已被官方淘汰,建议使用gpt-3.5-turbo-instruct替代
            model: 'gpt-3.5-turbo-instruct',
            prompt: `Create a simple conversational response for beginners, with an easy question at the end, based on the input: "Hello, how are you?"`,
            max_tokens: 50,
            n: 1,
            stop: null,
            temperature: 0.5,
        });
        console.log(gpt3Response.choices[0].text.trim());
    } catch (error) {
        console.error(error);
    }
}

runTest();

备注:davinci-codex模型已被官方终止服务,改用gpt-3.5-turbo-instruct可实现类似的文本补全功能。

3. 验证安装与执行

  • 检查项目根目录的package.json,确认dependencies中包含openai包:
    "dependencies": {
      "openai": "^4.x.x"
    }
    
  • 执行修改后的脚本:
    node test.js
    

额外排查要点

  • 确认Node.js版本:OpenAI官方SDK支持Node.js 16.14.0及以上版本,你当前的19.1.0符合要求,若后续遇兼容性问题,可尝试切换到LTS版本(如18.x)。
  • 检查API密钥有效性:确保密钥未过期、额度充足,且拥有调用对应模型的权限。
  • 网络环境:若在国内,需确认能正常访问OpenAI API(可通过代理或网络工具验证)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 18:45:28