【エラーログ】401 Incorrect API key providedと表示され、GPTからの応答が返ってこない

実現したいこと

Nextで作成したアプリでメッセージを送信すると、gptのAPIが叩かれ、gptからの応答が画面に表示されるようにしたいです。

発生している問題・分からないこと

ローカル環境でGPTからの応答が画面に表示されることは確認しました。使用しているAPIキーもローカルと本番環境同じものを使用しています。

Vercelを使ってデプロイしたところ、メッセージが返ってこなくなりました。
ブラウザのコンソール画面を確認したところ以下のように表示されています。
イメージ説明

Vercelのエラーログを確認したところ、下記画像のようになっていました。
イメージ説明

該当のソースコード

TypeScript

1import {NextApiRequest, NextApiResponse} from 'next'2import { OpenAI } from 'openai';3 4export default async function handler(req:NextApiRequest, res:NextApiResponse) {5 if(req.method=="POST"){6 const {userInput} = req.body7 const openai = new OpenAI({apiKey:process.env.OPENAI_API_KEY})8 try {9 const completion = await openai.chat.completions.create({10 model: "gpt-4-turbo",11 messages: [12 { role: "system", content: "あなたの名前はgptです。" },13 { role: "user", content: userInput },14 ],15 });16 res.status(200).json({message:completion.choices[0].message.content})17 }catch(error){18 console.error("Error fetching completion", error);19 }20 21 }else {22 res.setHeader('Allow', ['POST']);23 res.status(405).end(`Method ${req.method} Not Allowed`);24 }25}

試したこと・調べたこと

上記の詳細・結果

googleで該当のエラーを検索し、以下3点を試してみました。
・キャッシュと履歴の削除
・APIを1から作り直して、Vercelの環境変数に追加する。Vercelの環境変数に追加するときもOPENAI_API_KEYで="sk---"の形で追加しています。
・Timeout時間を60秒に設定した。
・応答速度の速いgpt3.5-turboを使用してみた。

補足

Mac : M1チップ
nextバージョン 14.2.3
openaiバージョン:4.38.5

コメントを投稿

0 コメント