类型错误:OpenAIApi 不是构造函数

Jus*_*apo 5 javascript artificial-intelligence node.js openai-api

我收到错误:

const openai = new OpenAIApi({ key: apiKey });
               ^

TypeError: OpenAIApi is not a constructor
Run Code Online (Sandbox Code Playgroud)

当我尝试使用nodejs(v16.7.0)创建openai api时。我已按照文档中的代码安装了 openai api (v4.3.1)

我使用的代码:

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

const openai = new OpenAIApi({ key: apiKey });
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?

Jao*_*_xD 4

根据文档,您不必对导入的对象使用解构运算符。

如果您忽略它,一切都应该运行良好。

const OpenAIApi = require('openai');

const openai = new OpenAIApi({ key: apiKey });
Run Code Online (Sandbox Code Playgroud)

UPD。实际上所需的对象包含所需的类,它是OpenAI.
所以你必须指定正确的名称:

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

const openai = new OpenAI({ key: apiKey });
Run Code Online (Sandbox Code Playgroud)

UPD2。正如Polywhirl 先生在评论中提到的,存在第三种方法。它是使用位于导入的库对象内部的类。

const OpenAIApi = require('openai');

const openai = new OpenAIApi.OpenAI({ key: apiKey });
Run Code Online (Sandbox Code Playgroud)