请求的模块 ‘openai’ 没有提供名为 ‘Configuration’ 的导出错误

我在尝试使用 MERN 构建一个 AI 图像生成网站时遇到了这个错误:

请求的模块 ‘openai’ 没有提供名为 ‘Configuration’ 的导出。

file:///C:/Users/Rashmika%20Satish/ai_website/server/routes/dalleRoutes.js:3import {Configuration, OpenAIApi} from ‘openai’;^^^^^^^^^^^^^ SyntaxError: 请求的模块 ‘openai’ 没有提供名为 ‘Configuration’ 的导出at ModuleJob._instantiate (node:internal/modules/esm/module_job:124:21)at async ModuleJob.run (node:internal/modules/esm/module_job:190:5)

Node.js v18.15.0 [nodemon] 应用程序崩溃 – 等待文件更改后启动…

这是 dalleRoutes.js 文件的内容:

import express from 'express';import * as dotenv from 'dotenv';import {Configuration, OpenAIApi} from 'openai';dotenv.config();const router = express.Router();

这是 index.js 文件的内容:

import express from 'express'import *  as dotenv from 'dotenv';import cors from 'cors';import connectDB from './mongodb/connect.js';import postRoutes from './routes/postRoutes.js';import dalleRoutes from './routes/dalleRoutes.js';dotenv.config();const app = express();app.use(cors());app.use(express.json({limit: '50mb'}));app.use('/api/v1/post', postRoutes);app.use('/api/v1/dalle', dalleRoutes);app.get('/', async(req, res)=>{    res.send('Hello from CreateAI');})const startServer = async () =>{    try{        connectDB(process.env.MONGODB_URL);        app.listen(8080, () => console.log('Server has started on port http://localhost:8080'))    }catch(error){         console.log(error);    }    }startServer();

这是 postRoutes.js 文件的内容

import express from 'express';import * as dotenv from 'dotenv';import {v2 as cloudinary} from 'cloudinary';import Post from '../mongodb/models/post.js';dotenv.config();const router = express.Router();

回答:

我遇到了同样的错误。我猜你是在按照 JSM 教程创建这个应用。在大量搜索之后,我终于在五天前在 OpenAI 论坛上找到了一个类似的讨论,看来这是版本变更 – 在 v4 中配置 API 密钥已经简化了。

如果你有兴趣,可以关注这个论坛:https://community.openai.com/t/getting-an-error-when-importing-configuration-and-openaiapi-from-openai/325012

这是关于从 v3 迁移到 v4 的 Github 指南:https://github.com/openai/openai-node/discussions/217

简而言之,只需运行 npm exec openai migrate,它应该会自动迁移并更改你的代码库中的代码到最新版本,并解决这个版本问题。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注