🗂

【GPT3.5turbo】NextJsで動くGPT3.5turbo【#3Chat APIRoute】

2023/04/19に公開

【#3Chat APIRoute】

YouTube:https://youtu.be/f4v3nu-7Dj8

https://youtu.be/f4v3nu-7Dj8

今回は「Chat」のAPIルートを実装します。

「try」の処理で実装する部分は
以下のサイトでコードの内容を「curl」から「node.js」に表示を変更します。

https://platform.openai.com/docs/api-reference/chat

pages/api/chat.ts
import type { NextApiRequest, NextApiResponse } from 'next'
import { Configuration, OpenAIApi } from 'openai'

const configuration = new Configuration({
  apiKey: process.env.OPENAI_API_KEY,
})

const openai = new OpenAIApi(configuration)

export default async function handler(
  req: NextApiRequest,
  res: NextApiResponse
) {
  switch (req.method) {
    case 'POST':
      try {
        const completion = await openai.createChatCompletion({
          model: 'gpt-3.5-turbo',
          messages: [{ role: 'user', content: 'Hello world' }],
        })

        res.status(200).send({
          message: completion.data.choices[0].message,
        })
      } catch (error) {
        console.log(error)
        res.status(500).send(error || 'Something went wrong')
      }
      break
    default:
      res.setHeader('Allow', ['POST'])
      res.status(405).end(`Method ${req.method} Not Allowed.`)
  }
}

Discussion