所有需要做的就是删除花括号(解构)。
const OpenAIApi = require('openai');
const openai = new OpenAIApi({ key: apiKey });
请注意,
官方文档建议您按照示例用法将导入命名为
OpenAI
,但您可以根据自己的喜好随意命名。
如果您打开
node_modules/openai/src/index.js
,您会看到底部有
exports.default = OpenAI;
。这将
class OpenAI extends Core.APIClient
作为默认导出进行了导出。这意味着在导入库时,您可以随意命名它。
const FooBar = require('openai');
const openai = new FooBar({ key: apiKey });
可能会让人感到困惑的是,
index.ts
文件具有以下导出项。类和命名空间具有相同的名称。
export class OpenAI extends Core.APIClient {
}
export namespace OpenAI {
export import toFile = Uploads.toFile;
}
export default OpenAI;
这将编译为以下JS代码,因为在openai-node库的tsconfig.json中将
esModuleInterop
设置为
true
。
exports.OpenAI = OpenAI;
exports.toFile = Uploads.toFile;
(function (OpenAI) {
OpenAI.toFile = Uploads.toFile;
})((OpenAI = exports.OpenAI || (exports.OpenAI = {})));
exports = module.exports = OpenAI;
exports.default = OpenAI;
更好的方法
适当地存储您的 API 密钥
- 安装
dotenv
作为依赖项
npm install dotenv
将以下文本翻译为中文:
- 在项目根目录下的
.env
文件中添加一个API_KEY
echo "API_KEY=" >> .env
更新服务器脚本
const dotenv = require('dotenv');
const OpenAI = require('openai');
dotenv.config()
const openai = new OpenAI({ key: process.env.API_KEY });
或者
您可以使用首选环境变量
echo "OPENAI_API_KEY=" >> .env
const dotenv = require('dotenv');
const OpenAI = require('openai');
dotenv.config()
const openai = new OpenAI();
npm install openai
,并在执行完npm show openai version
后检查版本是否兼容。 - undefined