ChatGPT相当モデルでWebサイトを爆速でチャットボット化できるようにしてみた!
はじめに
こんにちは、maKunugiです。meboという会話型AI構築サービスを開発・運営しています。
先日、ChatGPT相当の言語モデルである「GPT-3.5」を利用してチャットボットをノーコードで作れる機能を追加したところ、ありがたいことに多くの方に利用していただくことができました。
ChatGPT相当のモデルを使ったチャットボットをプログラミング不要で作れることは、かなり役立つことだと感じたため、本腰を入れてさらなる進化に取り組んでおります。
そして今回は、ChatGPT相当の言語モデルを利用したチャットボットに、「Webサイトの情報」を吸収させるという試みについて紹介しています。ChatGPTの持つ課題を和らげ、独自のコンテンツを踏まえた会話をさせることができるようになるためのチャレンジです。上記の記事の続きになりますので、ぜひ合わせてお読みいただけると幸いです。
ChatGPTの課題
大きな反響を読んでいるChatGPTですが、1つの課題が「学習をした年代のデータに回答が偏る」という点です。
ChatGPTは2021年までのWeb上の情報でトレーニングされています。わからないことを正しくわからないと認識していることは素晴らしいことですが、この例のように、時事ネタに対応することはできません。
この課題により、しばしば誤った(古い)情報を回答してしまうこともあります。
また、専門領域の応答に関しては、「間違ったことを、さも合っているかのように話す」ことが課題として指摘されることが多くあります。
解決のアプローチ
Web上の最新の情報をAIに考慮させることによって、AIの応答をフレッシュな状態かつ正確な情報にするといったアプローチを採用します。AIが応答を考える際に、特定のWebサイトの情報を与えておき、参考にさせるという方法です。
具体的には、
- GPT-3.5 (ChatGPT相当モデル)
- mebo
- Google Custom Search API
の3つを用いて実現します。
今回この記事を執筆するに当たり、meboにGoogle Custom Search APIのような情報取得APIを連携させる、「データソース」機能を実装しました。
何がうれしいのか
上記の機能によって、得られる恩恵は主に下記の2つです。
① Google検索の結果を会話に反映させることができる
② 特定のWebサイトの情報を会話に反映させ、WebサイトをAIチャットボット化することができる
Google検索の結果を会話に反映させる
これにより課題の1つだった、会話の古い情報をアップデートできます。最新のGoogle検索の結果をAIに読み込ませることにより、高精度かつ新しい情報を加味した会話AIを利用できます。
特定のWebサイトの情報を会話に反映させ、そのWebサイトをAIチャットボット化する
Google Custom Search APIは、特定のサイトの「サイト内検索」を利用することができます。その機能を利用することで、特定のサイトの情報をAIに読み込ませることができます。それにより、特定のWebサイトの情報を元に会話をする、AIチャットボットを構築することができます。
実現方法
それでは、具体的な実現方法について見ていきます。
1. OpenAIのAPIキーの取得
まずは、OpenAI APIの公式サイトに行き、APIキーを取得しましょう。
初めての方は、上記からSign Upを行い、登録を進めてください。
ログインができOpenAIのサービスを利用できる準備が整ったら、右上のメニューから「View API Keys」へ移動します。
「Create new secret key」で新規APIキーが発行できます。後ほど利用するので控えておいてください。
2. meboへログイン
次にmeboにログインをしていきます。下記のサイトからSign Inを行ってください。
3. エージェントの新規作成
ログインができたら、エージェント(AIの単位)を新規作成していきます。
新規作成方法は2種類あります。どちらでもOKなのですが、今回は「Chara.AI Generator」を利用していきましょう。ちなみに、この機能は前回こちらの記事で紹介した新機能です。
エージェント作成用の10個の質問に答えていき、エージェントの作成を完了させましょう。
作成が完了すると、ダッシュボード画面が表示されます。
4. エージェントの設定
次に左メニューからエージェントの設定ページへ移動します。
ページ中部にある、「答えられなかった場合の応答」の下にある、「AIによって自動で応答を返す」にチェックをつけましょう。
「AIによる応答の設定」という項目が出現するので、AIのモデルを「GPT-3(text-davinci-003)」に変更します。
モデルを選択すると、APIキーの登録が可能になります。先ほど取得したAPIキーを登録しましょう。
次に会話例を記入します。AIの特徴をよく表した会話の例を350文字以内で入力しましょう。
入力のフォーマットは下記のとおりです。
user: ユーザーの発言
ai: AIの応答
user: ユーザーの発言
ai: AIの応答
その他、複数の項目が設定可能ですが、適宜自由に設定を行い、ページ右下の「保存」を押してください。
ダッシュボードに戻ると、ページ右に「会話をテスト」というボタンがあるので押してみましょう。
チャットボットと会話をすることができました!🎉
ここまでで、GPT-3.5を搭載したAIと会話ができるようになりました。
5. Google Custom Searchの利用準備をする
下記から検索エンジンを作成していきます。
右上の「追加」から作成をしていきます。
特定のWebサイト内から検索をしたい場合は、「特定のサイトまたはページを検索」を選択しましょう。今回はウェブサイト全体を検索ターゲットとして進めてみます。
検索エンジンが作成されました。次に「カスタマイズ」をクリックします。
ここに表示される、「検索ID」は後ほど利用します。
次にGCP上でGoogle Custom Search APIを有効化し、APIキーを取得します。
(外部のサイト)
APIキー取得の一連の流れは、上記のサイトがとても参考になりました。
6. meboでデータソースを設定する
検索IDとAPIキーを取得できたらmeboのコンソールに戻ります。
「高度な設定」 -> 「データソース」のページに移動しましょう。
「データソースを追加」をクリックします。
「利用するAPI」に「Google Custom Search」を指定し、任意の名前、ラベルを設定しましょう。そして、先程控えておいたAPIキーと検索IDをセットします。
ヘッダーやパラメータはスキップし、「登録する」を押しましょう。
エージェント設定画面のAIの応答の設定に戻ります。GPT-3.5が選択されていると、データソースを設定する項目が表示されています。ここに、先程作成したデータソースのラベルを入力して保存しましょう。
会話のテスト
冒頭の質問と同じ発話を投げかけてみましょう。
今放送中の大河ドラマを答えてくれました!
ウェブ検索を裏で行い、検索結果を加味した応答をGPT-3.5がしてくれています。
Google検索を適用しているチャットボット (デモ用)
まとめ
以上の方法で、ウェブサイトの情報を加味してAIに応答をさせることができました。
上記の例では、Web全体の検索結果を反映させていますが、カスタム検索で特定のWebサイトに範囲を絞れば、よりそのサイトの領域について詳しい会話をさせることができます。
今回はカスタム検索によって、AIの応答にバイアスを掛けましたが、meboではその他にも様々な方法で応答を調整することができます。
ex.
- キャラクターの自己紹介文
- 会話例の設定
- 一問一答の登録
- シナリオ対話
- マークダウンコンテンツの入稿
上記で設定した内容が、全てGPT-3.5の応答にも影響を与えるような仕組みになっています。
Webサイトの読み込みだけではもの足りない場合は、ぜひ他のトレーニング方法も試すことで、より精度の高いチャットボットに仕上がります。
meboの詳しい利用法はこちら
最後までお読みいただき、ありがとうございました。
この記事に関する質問・お問い合わせ、FBは下記Twitterまでお気軽にお寄せください。
Discussion