recherche
Questions et réponses Comment réparer l'erreur 500 du serveur de code Next JS API

0
<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>
Your Answer
soumettre

1 réponse
0

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 });
2023-09-04 17:56:31

soumettre

Hot Tools

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Collection de bibliothèques d'exécution vc9-vc14 (32 + 64 bits) (lien ci-dessous)

Téléchargez la collection de bibliothèques d'exécution requises pour l'installation de phpStudy

VC9 32 bits

VC9 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC9 32 bits phpstudy

Version complète de la boîte à outils du programmeur PHP

Version complète de la boîte à outils du programmeur PHP

Programmer Toolbox v1.0 Environnement intégré PHP

VC11 32 bits

VC11 32 bits

Bibliothèque d'exécution de l'environnement d'installation intégré VC11 phpstudy 32 bits

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser