500 코드 서버 오류를 수정하는 방법 다음 JS API
P粉513316221
2023-09-03 21:39:30
<p>NextJS에서 OPEN AI GPT 4 모델을 사용하여 챗봇을 구축하려고 합니다. 그러나 http://localhost:3001/api/generate에 POST 요청을 보내면 상태 코드 500과 다음 오류 메시지가 포함된 응답을 받습니다. </p>
<인용문>
<p>TypeError: 정의되지 않은 속성을 읽을 수 없습니다('헤더' 읽기). </p>
</인용문>
<p>/app/api/generate/route.ts</p>
<pre class="brush:php;toolbar:false;">"next/server"에서 { NextResponse } 가져오기;;
import { 구성, OpenAIApi } from "openai"
const 구성 = 새 구성({
apiKey: process.env.OPENAI_API_KEY,
});
const openai = 새로운 OpenAIApi(구성);
비동기 함수 내보내기 POST(request: Request) {
const body = request.json()을 기다립니다.
const { 프롬프트 } = 본문;
if (!prompt || 프롬프트 === "") {
새로운 응답 반환("메시지를 보내주세요", { status: 400 });
}
노력하다 {
const aiResult = openai.createCompletion({을 기다립니다.
모델: "gpt-4",
즉각적인,
온도: 0.9,
최대 토큰: 8192,
});
const aiText =
aiResult.data.choices[0].text?.trim() || "뭔가 잘못되었습니다!";
return NextResponse.json({ 텍스트: aiText });
} 잡기(오류) {
console.log(오류);
}
}</pre>
<p>저는 NextJS 13을 처음 사용하지만 "Hello World"와 같은 정적 응답을 보내려고 하면 오류가 발생하지 않습니다</p>
Next.js API 경로는 요청 객체가 아닌 첫 번째 매개변수로 요청 객체를 예상합니다. 따라서 코드에
request: Request
更改为req: NextApiRequest
를 추가해야 합니다. 또한 응답 개체를 Response에서 NextResponse로 변경해야 합니다.요청사항은 이것부터
으아악여기
으아악응답을 위해, 이것부터
으아악여기
으아악