如何修復 500 代碼伺服器錯誤 Next JS API
P粉513316221
P粉513316221 2023-09-03 21:39:30
0
1
425

我正在嘗試使用 NextJS 中的 OPEN AI GPT 4 模型建立一個聊天機器人。但是,當我向 http://localhost:3001/api/generate 發送 POST 請求時,我收到狀態碼 500 的回應和以下錯誤訊息:

類型錯誤:無法讀取未定義的屬性(讀取「標頭」)。

/app/api/generate/route.ts

import { NextResponse } 從 "next/server"; import { Configuration, OpenAIApi } from "openai"; const configutation = new Configuration({ apiKey: process.env.OPENAI_API_KEY, }); const openai = new OpenAIApi(configutation); export async function POST(request: Request) { const body = await request.json(); const { prompt } = body; if (!prompt || prompt === "") { return new Response("Please send your prompt", { status: 400 }); } try { const aiResult = await openai.createCompletion({ model: "gpt-4", prompt, temperature: 0.9, max_tokens: 8192, }); const aiText = aiResult.data.choices[0].text?.trim() || "Something went wrong!"; return NextResponse.json({ text: aiText }); } catch (error) { console.log(error); } }

我是 NextJS 13 的新手,但是當我嘗試發送“Hello World”之類的靜態回應時,我沒有遇到任何錯誤

P粉513316221
P粉513316221

全部回覆 (1)
P粉111927962

Next.js API 路由期望請求物件作為第一個參數,而不是請求物件。因此,您需要將程式碼中的request: Request變更為req: NextApiRequest。此外,您需要將回應物件從 Response 變更為 NextResponse。

對於請求, 由此而來

export async function POST(request: Request) {

到此

export default async function generateAPI(req: NextApiRequest) {

對於回應, 由此而來

return new Response("Please send your prompt", { status: 400 });

到此

return new NextResponse("Please send your prompt", { status: 400 });
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板
    關於我們 免責聲明 Sitemap
    PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!