Next.js OpenAI Starter を動かす

公開日 :

ChatGPT と連携する Chatbot のサンプルである Next.js OpenAI Starter のテンプレートを動かすまでの手順を今回まとめておきます。

テンプレートの紹介

今回利用するテンプレートは、 Next.js のアプリケーションで ChatGPT の API と連携して動作するアプリケーションのテンプレートになります。詳細は以下のページから確認できます。

このアプリは以下の機能を提供しています。

  • Next.js App Router で構築

  • Open AI の API KEY を設定することでチャットができるようになります

なお、認証なども含めて実装をしている AI Chat Bot も提供されています。

こちらの場合は NextAuth を利用して GitHubとの連携なども含まれています。時間的に余裕があれば使ってみようかなとは思っていますが、まずはシンプルな Chat アプリを立ち上げてみましょう。

ChatGPT の API キーを取得する

展開をする際に必要となるのは ChatGPT の API キーになります。このキーを取得するためには以下のページからキーを生成する必要があります。

実際に生成した際には以下のような形でキーが登録されているのを確認できます。

random desc

なお、キーの発行はできますがキーを利用するにあたっての費用が発生します。これは ChatGPT Plus の毎月 $20 のサービスとは別で、利用した分量の従量課金で計算される形となります。

クレジットに関しては、アカウントを作成して3か月の間は $5 の量が無料で使えるようになっていますが、私のアカウントは $0 になっていました。そこで、 $10 ほど利用できるようにクレジットカードでチャージします。

random desc

オートチャージをオフにしておくことで、試しているうちにたくさん使いすぎてしまった、という状況にならないのので安心です。

Vercel に展開する

手っ取り早く、Vercel に展開しましょう。まずサンプルのページの Readme に Vercel に展開するためのボタンが用意されています。

random desc

クリックをすると Vercel の画面になります。まず連携をする GitHub のリポジトリの名前を設定します。今回は Private リポジトリとして作成します。

random desc

続いて環境変数を設定することになりますが、これに関しては API キーを設定するだけで大丈夫です。

random desc

しばらくすると展開が完了して、サイトが立ち上がります。

random desc

実際にアクセスをすると、チャットが可能になっていることを確認することができました。

random desc

ローカルで動かす

すでに Vercel の環境で動作していますが、ローカルで動作する環境を用意したいと思います。今回のコードに関してはプライベートリポジトリを作成しているため、以下のように展開されています。

random desc

このリポジトリのコードをローカルに展開して、.env.local ファイルを作成して API キーを設定します。

random desc

これで準備が整いました。以下のようにコマンドを実行していきます。

npm install
npm run dev

random desc

実際に localhost:3000 にアクセスをしてチャットが動いていることを確認できました。

random desc

まとめ

今回はシンプルに API 経由で ChatGTP との会話ができるようにサンプルのアプリを動かしただけとなります。こういうチャットのサンプルをベースにしていくことで、モックを作るのが簡単にできるので助かりますね。