next.js Vercel错误:(Azure)未找到OpenAI API密钥

gudnpqoy  于 2023-06-29  发布在  其他
关注(0)|答案(1)|浏览(259)

我在langchain库的帮助下在我的Next.js应用程序中实现了openAI API,它在localhost上工作得很好,但在Vercel(ProVersion)中它抛出了一个错误:
错误:(Azure)OpenAI API key not found at new OpenAIChat(file:///var/task/node_modules/langchain/dist/llms/openai-chat. js:184:19)at new OpenAI(file://var/task/node_modules/langchain/dist/llms/openai. js:54:20)at /var/task/.next/server/pages/api/tasks/ai.js:63:21 RequestId:472 c 0 bdb-dbbc-4cd 4 - 95 a3 - 1808 d 0 b6 a5 ac错误:运行时退出,但出现错误:exit status % 1运行时。ExitError
这个错误导致了我的应用程序中langchain node_module中的代码:

this.openAIApiKey =
            fields?.openAIApiKey ?? getEnvironmentVariable("OPENAI_API_KEY");
        this.azureOpenAIApiKey =
            fields?.azureOpenAIApiKey ??
                getEnvironmentVariable("AZURE_OPENAI_API_KEY");
        if (!this.azureOpenAIApiKey && !this.openAIApiKey) {
            throw new Error("(Azure) OpenAI API key not found");
        }

我把OPENAI_API_KEY环境变量(与我的.env文件中的环境变量相同)放在Vercel中:
vercel_environmental_variable
在我的应用程序中,我把OPENAI_API_KEY放在.env文件中,并在我的后端加载它:

const apiKey = process.env.OPENAI_API_KEY;

const openAIModel = new OpenAI({
  modelName: "gpt-3.5-turbo",
  temperature: 0,
  maxTokens: 2000,
  openAIApiKey: apiKey,
});

我甚至可以在localhost中发布和获取API请求,当我不处理后端的OPENAI_API_KEY时(langchain模块直接从我的.env文件中获取)

const openAIModel = new OpenAI({
  modelName: "gpt-3.5-turbo",
  temperature: 0,
  maxTokens: 2000,
});

我还尝试将模型更改为OpenAIChat,它在localhost上的工作原理与OpenAI模型相同,但在Vercel中也不是:

const openAIModel = new OpenAIChat({
  modelName: "gpt-3.5-turbo",
  temperature: 0,
  maxTokens: 2000,
});

我希望这足以在Vercel中向openAI API发布请求,但它一次又一次地抛出相同的错误。
有人知道这里缺少了什么吗?
感谢您的评分纳斯蒂

nfg76nw0

nfg76nw01#

我删除了Vercel中的环境变量并重新设置它,重新部署了项目,它工作了:-)

相关问题