おはようございます!マネジメントオフィスいまむらの今村敦剛です。
当社ホームページにAIチャットボットシステムを導入しました。WordPressプラグインの「AI Engine」を使い、OpenAI APIのファインチューニングで、事前に用意したデータセットを学習させて、サイト来訪者の質問に答えるというシステムです。
導入したAIチャットボットシステムはこういうもの
以下はモバイル版の当社ホームページですが、右上に青丸とロボットのアイコンがあります。これを押すとAIチャットボットシステムの画面に遷移します。
こういう画面に遷移します。下部の入力欄に質問を入力します。
こういうものなんですが、応答精度はまだまだです。例えば「この会社の資本金額はいくら?」と訊いたら「10万円です」と回答します。本当は500万円なんですよね。
当社の電話番号や問い合わせフォームへの案内等という最低限の質問には応えられるようになったので、この度公開したものです。まだ完璧ではなく、学習データを手厚くして、ファインチューニングを繰り返す必要がありそうです。
WordPressプラグイン「AI Engine」設定内容
備忘録代わりに、このAIチャットボットの設定をどうしたのか、大枠を記録しておきたいと思います。
- プラグインのインストール(プラグインの新規追加から「AI Engine」を検索してインストール・有効化する)
- インストール後、AI Engineの設定画面を開く
- 「設定」タブを開き、OpenAIのAPIキーを入力(これをする前に、Open AI APIでAPIキーを作成する必要あり。APIは有料なので、setting→billingで課金に必要な情報を入力する必要もあり)
- 「ダッシュボード」タブのサーバーモジュールの中の「ファインチューン」を有効化
- 「ファインチューン」タブ→「データセットエディタ」内の"Generator"で、自サイトからデータセットの原案を作成してもらう。(OpenAIとAPI連携して、自サイトからチャットボットが学習する質問と回答を自動生成し、それらを「Dataset」に追加します。この処理は非常に時間がかかる可能性があり、しかも大量のAPIコールが発生するため、高額なコストがかかる恐れがあります)※当社は固定ページだけをシークした。
- 5の結果、「Dataset」に質問と回答が生成される(当社の場合、約750データ)。しかしそのままでは使いものにならないので、手動で修正や追加をする。
- 「データセットエディタ」内の"コンテキスト"を設定。(当社の場合、「あなたは株式会社マネジメントオフィスいまむらのAIアシスタントです。ウェブサイトの訪問者(user)を適切なページに誘導したり、質問に的確に答えてください。」と入力)
- 学習データの修正・追加が完了したら、「ファインチューン」タブ内にある「Upload to OpenAI」ボタンをクリック。そうすると学習データとしてOpenAI APIにアップロードされる。
- 「ファインチューン」タブ→「ファイル」タブ内にアップロードファイルが表示されるので「Train Model」ボタンをクリック。
- ファインチューンが終わると、「ファインチューン」タブ→「モデル」タブ内に学習済みデータが表示。
- 続いて、「設定」タブ内のAIデフォルト環境で、環境を「OpenAI」に、そしてモデルとして学習済みデータを選択
- 「チャットボット」タブで、チャットボットの設定をする
- 「チャットボット」タブ内の"チャットボット"では、ローカルメモリをyesにしておくと、ローカル環境でも学習してくれる…というが、学習してくれる気配がない上、学習データと違うことを回答するような気がする。気になる場合はローカルメモリのチェックを外すとよい。(根本的には学習データを手厚くするのが最も精度を高めるように思う)
- 「チャットボット」タブ内の"外観"では、見た目を設定できる。特に開始文とコンプライアンステキストは、AIチャットボットが不正確な恐れがあるという警告を詳細に入力しておいたほうがよい。
使ってよかった点&今後の課題
データ作成からデータ前処理、ファインチューニングといった一連の処理を、プラグインの設定画面上で完結できるのは便利でした。ただ、理屈をわかっていないと「今何をやっているの?」と迷子になる可能性があるので、OpenAI APIのファインチューニングの基本や全体像は、しっかり学んでおく必要があるとも負います。ただ「思ったよりも大変だったな」という印象です。AIエンジニアの人はこれに格闘しているんですね。。。大変だと思います。
また時々、APIキーが認識できなくなり、以下のような警告が出ます。この時は、APIキーを一度消して、もう一度入力しなおすと復帰することがあります。
Received the ‘API URL was not found’ error from OpenAI. This actually means that your OpenAI account has not been enabled for the Chat API. You need to either add some credits to OpenAI account, or link a credit card to it.
応答精度はいまいちなので、学習データを手厚くしていくしかないと思います。
また、AI Engineで自動生成した学習データセットは、アップロード後などに消されてしまうので、まめにjson形式でダウンロードして保存しておいたほうがよいです。
AIチャットボットのデータ作成からシステムを実装したということは、これは「AI事業者ガイドライン」でいうところのAI開発者・AI提供者に該当します。したがって、ガイドラインなどにしたがってAIガバナンスを構築する必要があります。さしあたって当社では、AIシステム影響評価を実施し、当社ホームページで公開をしようと思っています。できたらまた報告します!