🤖

DocsBot でチャットボットを作成してみた

2023/09/12に公開

こんにちは、初めましての方は初めまして。株式会社 Fusic の瓦です。最近色々なものにチーズをかけて食べるのがマイブームなのですが、「チーズをかけずに単品で用意すれば、そのままでも楽しめるしかけても楽しめるし一挙両得では??」という考えに思い至った結果、晩御飯のおかずの一品として単品でチーズが食卓に並ぶようになりました。特に裂けるチーズは、裂いてかけてもいいし裂かずにそのまま食べても美味しいしで重宝しています。

ChatGPT が発表されて以来 LLM の隆興は留まることを知らず、最近では ELYZA が開発した LLM[1] の精度がかなり良いと巷で話題になっています。これらの LLM を利用するにあたって、独自のデータに基づいた文を生成させたいという要望があります。この記事では、そのような独自のデータを簡単に組み込める DocsBot を使って遊んでみたいと思います。

DocsBot とは

独自のデータに基づいて ChatGPT によるチャットボットを作成できるサービスです。難しい操作は必要なく、ブラウザをポチポチするだけでドキュメントの追加やチャットボットの公開が出来ます。API も提供されており、容易に自身の作成したチャットボットをシステムに組み込むことも出来ます。

実際に試してみる

この記事では、お試しとして Fusic の実績に関してチャットを行えるボットを作成してみたいと思います。
(以下は個人用の無料アカウントで試した内容になります。有料アカウントだと出来ることが増えるため、内容と齟齬があるかもしれません)

事前準備

DocsBot では ChatGPT を利用するため、OpenAI の API Key が必要になります。また、OpenAI の API を利用するにあたって料金がかかるため、OpenAI 側でクレジットカードが登録されている必要があります。API Key などの設定が終わったら、ボットを作成します。


チャットボットの作成メニュー画面

左に並んでいるメニューの Dashboard か Bots の画面に行くと、右側にボットの作成メニューがぬるっと出てくるかと思います。そこでボットの名前や公開/非公開の設定、使用するモデル、言語の設定をして Create Bot のボタンを押すことでボットが作成できます。無料では公開、モデルは GPT-3.5 しか使えませんが、有料プランにすることで API 経由でしかアクセス出来ないようにしたり、GPT-4 が使用できるようになります。今回は Fusic-works という日本語のボットを作成しました。

作成すると以下のようなボットの詳細画面に遷移します。この画面から参照するドキュメントの追加を行えたり、よくある質問を設定できたり、ログの参照を行うことが出来たりします。


チャットボットの詳細画面

Widget Embed をクリックするとウィジェットとして埋め込むためのコードを生成してくれたり、Sharing & API をクリックすると実際にチャットを行えるページのリンクを生成してくれたりします(後者はドキュメントを追加した後にのみ有効になります)。作成したボットを他の人に使ってもらって感想をもらったり、自分のホームページにチャット出来るウィジェットとして埋め込んだりすることが簡単にできるため、かなり便利な機能だと個人的に感じています。


チャットボットをウィジェットとして使用するコードを生成する画面

ドキュメントの追加

ボットを作成できたので、チャットを行う際に参照するドキュメントを追加していきます。上のチャットボットの詳細画面にあるように、様々なドキュメントを追加できます。今回は Fusic が公開している実績のページの URL を追加していきます。有料プランの場合は、URL が示すドキュメントをどのくらいの頻度で更新するかも設定できます。


インデックス化待ちのドキュメント

ドキュメントを追加すると、Queued 状態になり、少し時間が経つと表示がなくなると思います(これはドキュメントを検索するために使用するインデックスを作成しているのだと思います)表示がなくなればそのドキュメントがチャットの際に使用できます。ドキュメントの追加はこれだけで完了で、とても簡単に独自のドキュメントを追加出来ることが分かると思います。

Fusic について質問

作成したチャットボットと実際に会話をしてみたいと思います。ボットの詳細画面で Chat ボタンを押すと、チャットが行える画面が表示されます。

まず手始めに、Fusic がどのような会社か聞いてみます。

Fusic について正しい答えを回答できています。Fusic についての情報は GPT-3.5 には入ってないため、独自に追加したデータに基づいて回答できているということが分かります。また、参考にしたドキュメントや参考リンクも引用しており、より詳細が知りたい場合はそのリンクから飛ぶことで自身でも情報の確認が出来るようになっています。

次に、教育関連の業績があるかを質問してみます。

Fusic の業績から教育関連のページを参照して回答が出来ていることが分かります。個別の案件についての詳細も聞いてみます。

このように Fusic がこの案件でどのようなことを行ったかを綺麗にまとめて回答できています。

また、関係のない質問も行ってみます。

関係のない質問にも一応答えようとはしてくれています。実際に運用するにあたっては、「関係ないです」ときっぱり断ってほしいところではあります。DocsBot ではプロンプトのカスタマイズも出来るようで、カスタマイズすることできっちりと断るように出来そうですが、無料プランではプロンプトのカスタマイズが出来ないため今回は割愛したいと思います。

まとめ

この記事では DocsBot を試してみました。独自のデータを組み込んだチャットボットを簡単に構築でき、ウィジェットとしてページに組み込んだりチャット用のページを公開できる機能も提供されているため、チャットボットを作成したい場合に利用するサービスとしてよいのではないかと思います。ただ、ドキュメントのデータ自体は恐らく DocsBot 側で保存されるため、外に出したくないデータなどを使いたい場合はまた別の方法(AWS や Azure を使用する、ローカルで動く LLM を使用するなど)を考える必要があります。Fusic はクラウドシステムの構築に強く、チャットボットを作成したいといった要望にも応えることが出来るので、いつでも相談お待ちしてます(ダイマ)

最後に宣伝になりますが、機械学習でビジネスの成長を加速するために、Fusicの機械学習チームがお手伝いたします。機械学習のPoCから運用まで、すべての場面でサポートした実績があります。もし、困っている方がいましたら、ぜひFusicにご相談ください。お問い合わせからでも気軽にご連絡いただけます。またTwitterのDMからでも大歓迎です!

脚注
  1. https://huggingface.co/elyza/ELYZA-japanese-Llama-2-7b ↩︎

GitHubで編集を提案
Fusic 技術ブログ

Discussion