Saya cuba membina chatbot menggunakan model OPEN AI GPT 4 dalam NextJS. Walau bagaimanapun, apabila saya menghantar permintaan POST ke http://localhost:3001/api/generate, saya menerima respons dengan kod status 500 dan mesej ralat berikut:
TypeError: Tidak boleh membaca sifat yang tidak ditentukan (baca 'header').
/app/api/generate/route.ts
import { NextResponse } daripada "next/server"; import { Konfigurasi, OpenAIApi } daripada "openai"; konfigurasi const = Konfigurasi baru({ apiKey: process.env.OPENAI_API_KEY, }); const openai = OpenAIApi baharu(konfigurasi); eksport fungsi async POST(permintaan: Permintaan) { const body = tunggu request.json(); const { prompt } = badan; jika (!prompt || prompt === "") { kembalikan Respons baharu("Sila hantar gesaan anda", { status: 400 }); } cuba { const aiResult = tunggu openai.createCompletion({ model: "gpt-4", segera, suhu: 0.9, max_token: 8192, }); const aiText = aiResult.data.choices[0].text?.trim() || "Sesuatu telah berlaku!"; kembalikan NextResponse.json({ text: aiText }); } tangkap (ralat) { console.log(error); } }
Saya baru menggunakan NextJS 13, tetapi apabila saya cuba menghantar respons statik seperti "Hello World" saya tidak mendapat sebarang ralat
Laluan API
Next.js mengharapkan objek permintaan sebagai parameter pertama, bukan objek permintaan. Oleh itu, anda perlu menambah
request: Request
更改为req: NextApiRequest
dalam kod anda. Selain itu, anda perlu menukar objek tindak balas daripada Respons kepada NextResponse.Untuk permintaan, Daripada ini
Di sini
Untuk maklum balas, Daripada ini
Di sini