OpenAIのGPTを使ってみる

OpenAIのGPTを使ってみる

最近仕事でもAIの話って結構出てきました。
何も知りませんじゃ既に通らなくなりつつあるので代表的なOpenAI使ってみます。
OpenAIって複数の機能があります。

  • Audio (音声→テキスト)
  • Chat (ChatGPT)
  • Completions (これもChatですね Chatの方を使えって書いてあります)
  • Embeddings (機械学習、特定のデータをベクトルに変換して類似性を数値化)
  • Fine-tuning (GPTモデルの追加トレーニング)
  • Files (Fine-tuningのトレーニング結果のアップロード用)
  • Images (DALL-E テキストから画像生成)
  • Models (GPT-4やGTP-3.5などのモデルの取得、Fine-tuningしたモデルも含まれます)
  • Moderations (入力データがOpenAIのポリシーに違反しているかチェックします)

とりあえず興味は Chat と Fine-tuning と Images に行きますね。
まずChatを使用してみます。

OpenAIは従量課金制

なのでカード情報などの登録が必要です。
従量制ですが最初に$10はチャージしておく必要があります。後は使った分だけ請求される感じですね。

料金についてはここを参照。
GPT-4だと1000トークン辺り$0.03~$0.12。
GPT-3.5 Turboだと1000トークン辺り$0.0015~$0.004。
GTP-4と比べると桁が違うんですけど。

トークンについてですが、日本語の80文字くらいで122トークン、40文字くらいで43トークンになってました。計算方法はよくわからないですが、1トークン1文字強くらいの認識でいいかと思います。

OpenAIに登録したら右上のメニューから 「View API keys」 を選択して「Create new secret key」をAPIキーを作成します。

Chat について

大雑把に以下のことができます。

  • 単純に文字列を送ると回答が返ってきます。
    ちゃんと会話として繋げたい場合は過去の内容も含めてリクエストする必要があります。
  • 予めプロンプトと呼ばれる命令をしておくことで会話内容の流れを作ったり制限を掛けたりできます。
  • 特定の条件でコールバッグを呼び出すように指示できます。

2つ目と3つ目を駆使することで単純に受け答えだけするChatGPT以上のことができるようになりますね。

Vue.jsでChat API使ってみる

Vue.jsだけでChat API使ってChatGPTみたいなもの作ってみました。
使ってるのはGTP-4です。

Vue.jsで普通にプロジェクトを作成したあと以下でOpenAIのライブラリをインストールします。

npm install openai

最初にシステムプロンプトとして以下のように指定してます。

const systems = ref([
  { role: 'system', content: 'あなたは株式会社アガガの電話受付担当の田中です。'},
  { role: 'system', content: '電話対応だとして応対してください。'},
  { role: 'system', content: '応答は80文字以内で行ってください。'},
  { role: 'system', content: '今日の日付は' + new Date().toLocaleString('ja-JP') + 'です。' },
  { role: 'system', content: '自社の社員の名前を呼ぶ時には敬称は省いてください。'},
  { role: 'system', content: '自社の社員は田中、鈴木、佐々木の3名です。'},
  { role: 'system', content: '電話を繋いだり、対応を確認したりできないことはしないでください。'},
  { role: 'system', content: '名前と要件と連絡先だけ聞き出して折り返し電話する旨を伝えて会話を終了してください。'},
])

これで会話を始めると以下のようになります。

結構会話をそれっぽく限定することができました。
あと会話から「名前」と「電話番号」と「用件」を聞き出せたらコールバックするようにしています。
コールバックされたらデータを赤文字のところに表示してます。

思ったような応答をさせるのはテクニックがいりますね、プロンプトエンジニアなんて言葉が出てくるのも納得です。

ちなみにSYSTEM PROMPTに追加の指示を与えることもできます。
大阪弁で喋ってもらいましょう。

なんかめっちゃ楽しい。面白いですOpenAI。これで似非関西弁と言われずに済むかも。
実際に動いてるところも動画にしてみました。

上記アプリのソースコードはGitHubに上げてます。
https://github.com/yasuyoshi64/openai-gpt

コメント

このブログの人気の投稿

(真)ESP32の開発環境をVSCodeで作る

ESP32にmicroSD接続

ESP32でデバッグ