技術系

chatGPTを気軽に試そう✌️

技術系

こんにちは、なかにしです。

chatGPTを気軽に試せるアプリを作成しました。
ソースコードはこちらです。

お金がかかるので一般公開はできませんが、
身内には公開してchatGPTの販促をしようと思います🙌

今回は、どのあたりに苦労したかを主に書こうと思います。

作ったアプリ

chatGPTのAPIを使用し、音声またはテキストで質問ができるというアプリです。

使用技術:Next.js
作成時間: 4時間程度

APIキーを使用する必要があるので、バックエンド側で隠蔽しました。

chatGPT APIの使用方法

概要

chatGPTのAPIを使用することで、質問を誰でも投げることが出来ます。
APIは従量課金制で、AIのモデルとchatGPTの解答量(トークン)によって料金が変わります。

より新しいAIのモデルを使用すると、トークンに対する料金が上がります。
詳しくはこちらをご覧ください。

使用にあたっての準備

必要なのは以下の3つです。
①会員登録 ②料金のチャージ ③プログラミング言語

①会員登録
こちら から会員登録をします。

こちらは「使用者」ではなく「開発者」としての登録になりますので、
使用者として登録している方も、再度登録が必要です。

②料金のチャージ
開発者登録が完了した後は、こちら から料金のチャージをします。

今回は1回の解答で100トークンを上限としたコードにしたので、
とりあえず$10のチャージをしました。(33,000回程度の質問に耐えられる)

こちらからリミットを決められるので、
$5でメール通知、$10をリミットにしました。

これでAWSあるあるの、「今月の請求が50万なんだけど…」の状況を避けることができます。

③プログラミング言語
HTTPのAPIを提供している為、基本的にはどの言語でも問題ないですが、
pythonとnode.jsは公式がライブラリを公開しているので、導入がちょっと楽です。

この2つの言語はいつも便利ですね。
今回はNext.js(node.js)を使用します。

導入方法

以下の流れで実装します。
①APIキーの発行 ②chatGPTのライブラリをインストール ③プログラミング

①APIキーの発行
こちらからAPIキーの発行ができます。

※APIキーの漏洩を検知したら自動で使用できなくなる(削除される)ようです。
試しにGithubにAPIキーを上げてみると、10秒くらいで使えなくなっていました。
仕事早すぎですね。

②chatGPTのライブラリをインストール
新規プロジェクトを立ち上げ、chatGPTのライブラリをインストールします。

npm install openai

③プログラミング
公式リファレンスを参考にして実装します。

以下は実際に実装した内容の一部抜粋です。

  // API_KEYをenvから取得
  const API_KEY = process.env.API_KEY;

  // aiを叩くものを作る
  const openai = new OpenAI({ apiKey: API_KEY });

  try {
    // chatGPTにデータを送る
    const gptResponse = await openai.chat.completions.create({
      model: "gpt-3.5-turbo",
      messages: [{ role: "system", content: requestData.text }],
    });

    // レスポンスの受け取り
    const gptResponseText = gptResponse.choices[0].message.content;
    return NextResponse.json({ text: gptResponseText });
  } catch (error) {
    return NextResponse.json({ text: "Error querying GPT-3.5" });
  }
}

さいごに

chatGPTのAPI、存在は知っていたのですが使用したのは初めてでした。
シンプルな文法で、使いやすいですね。

chatGPTのようなAIとかけ算をすると、
様々な面白いサービスが簡単に作れると思うので、
頭を柔軟にして日々を過ごそうと思います。

仕事も落ち着いてきたので、どこか遠くに旅行でも行こうかなー。

今回はここまで!
Enjoy Hacking!!