Comment réparer l'erreur 500 du serveur de code Next JS API
P粉513316221
P粉513316221 2023-09-03 21:39:30
0
1
473
<p>J'essaie de créer un chatbot en utilisant le modèle OPEN AI GPT 4 dans NextJS. Cependant, lorsque j'envoie une requête POST à ​​http://localhost:3001/api/generate, je reçois une réponse avec le code d'état 500 et le message d'erreur suivant : </p> <blockquote> <p>TypeError : Impossible de lire la propriété non définie (lire 'en-tête'). </p> </blockquote> <p>/app/api/generate/route.ts</p> <pre class="brush:php;toolbar:false;">importer { NextResponse } depuis "suivant/serveur" ; importer { Configuration, OpenAIApi } depuis "openai" ; configuration const = nouvelle configuration ({ apiKey : process.env.OPENAI_API_KEY, }); const openai = new OpenAIApi(configuration); exporter la fonction asynchrone POST (requête : requête) { const body = wait request.json(); const { invite } = corps ; if (!prompt || prompt === "") { return new Response ("Veuillez envoyer votre invite", { status: 400 }); } essayer { const aiResult = attendre openai.createCompletion({ modèle : "gpt-4", rapide, température : 0,9, max_tokens : 8192, }); const aiText = aiResult.data.choices[0].text?.trim() || "Quelque chose s'est mal passé !"; return NextResponse.json({ texte : aiText }); } attraper (erreur) { console.log(erreur); } }</pré> <p>Je suis nouveau sur NextJS 13, mais lorsque j'essaie d'envoyer une réponse statique comme "Hello World", je ne reçois aucune erreur</p>
P粉513316221
P粉513316221

répondre à tous(1)
P粉111927962

Les routes API Next.js attendent l'objet de requête comme premier paramètre, pas l'objet de requête. Par conséquent, vous devez ajouter request: Request 更改为 req: NextApiRequest dans votre code. De plus, vous devez modifier l’objet de réponse de Response en NextResponse.

Pour les demandes, De ceci

export async function POST(request: Request) {

Ici

export default async function generateAPI(req: NextApiRequest) {

Pour les réponses, De ceci

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

Ici

return new NextResponse("Please send your prompt", { status: 400 });
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!