ChatGPT相当モデルにマークダウンを吸わせて会話をさせる!

2023/01/26に公開

概要

こんにちは、maKunugiです。
先日、下記の記事でChatGPT相当モデル(GPT-3.5)を利用して、簡単にチャットボットを作成するツールの話をまとめました。
https://zenn.dev/makunugi/articles/001ac46ff35718

今回はその続編です。前回の記事をベースにした内容もありますので、よろしければ上述の記事をお先にお読みください。

今回実施したのは、「マークダウン」を書き、その内容をGPT-3.5に読み込ませて、会話をさせるという試みです。

実現したかったこと

実現したかったことは、マークダウンで書いた内容を元に会話ができる、ChatGPT相当モデル(GPT-3.5)のチャットボットを作ることです。マークダウンでサクッと文章を書き、その内容を踏まえた高精度な会話ができるチャットボットの構築を目指しました。

GPT-3.5 + マークダウンで何が嬉しいのか

GPT-3.5単体でも高精度な会話ができるチャットボットが構築できます。そこにマークダウンの内容を組み合わせることで、独自のコンテンツ(Q&Aなど)を追加できます。それに加え、入力したコンテンツを加味して、GPT-3.5が応答を返せるようになると、入力したセリフを超えた幅広い応答が可能になります。ユーザーからの深堀りにも柔軟に対応が可能になります。

Q. 出身はどちらなのですか? ← マークダウンで与えた情報
A. 山梨県甲府市になります。 ← マークダウンで与えた情報
Q. 甲府ですか!甲府ってどんなところなんですか?
A. 甲府市は〜なところです。〜が有名です。
Q. そうなんですね!今度行ってみます。
A. ぜひ行ってみてください!お土産は信玄餅もおいしいですよ。

上記のように、勝手にAIがユーザーの深堀りに応答をしてくれます。また、GPT-3.5は入力したコンテンツに影響を受けます。全体的な発言内容も、登録したコンテンツに寄っていきます。

AIが応答を勝手にしてくれてしまうので、虚偽の内容を言ってしまわないかの注意は必要ですが、かなり柔軟な会話が可能になります。

利用方法

上記の機能を、前回の記事同様、私が運営している会話AI構築サービス「mebo(ミーボ)」に追加しました。
https://mebo.work/

このmeboを使って、マークダウンで高精度なチャットボットを作成していきましょう。

1. チャットボットの作成

まずは、チャットボットを新規作成しましょう。meboにサインインをして、チャットボット(meboでは「エージェント」と呼びます)を作成します。

https://mebo-admin.work/auth/login

新規作成方法は2種類ありますが、どちらでも構いません。

GPT-3.5の有効化

エージェント作成後、下記の記事と同じ手順を踏み、エージェント設定画面からGPT-3.5が利用できるように設定してください。
https://mebo-admin.work/admin/editBot

https://zenn.dev/makunugi/articles/001ac46ff35718#使い方

2. マークダウンコンテンツの作成

meboのトレーニング一覧画面を開きます。
https://mebo-admin.work/admin/trainings

「マークダウンでコンテンツを追加する」をクリックします。

「新規コンテンツの作成」をクリックします。

マークダウンエディタが表示されます。ここにマークダウンでコンテンツを入力していきます。

3. マークダウンで入力する

マークダウンを書いていきます。
その際に、チャットボットとマークダウンの関係性だけ理解する必要があります。

マークダウンコンテンツは下記のようにAIのトレーニング時にパースされます。

#見出し -> ユーザーの発話
見出し配下の文章 -> チャットボットの応答

例えば下記のマークダウンを入力したとします。

# プロフィールについて
私の名前はxxxxです。

この場合、「プロフィールについて」と聞かれたチャットボットは、「私の名前はxxxです。」と答えます。

# プロフィールについて
## 名前は?
xxxxです。
## 何歳ですか?
18歳です。
## 仕事は?
xxxxです。

と階層構造にすることも可能です。このように見出しに、ユーザーから発話されうる内容を記述していきます。

その他、チャットボットで利用できる独自の拡張表現も定義されています。
詳しくは、下記の記事をご参照ください。
https://zenn.dev/makunugi/books/f3d9eb62b6d133/viewer/bb2497

入力が終わったら、「保存する」を押しましょう。

4. チャットボットをトレーニングし、会話する

マークダウンのコンテンツが保存できたら、公開設定画面に移動します。
https://mebo-admin.work/admin/publish

「トレーニングを反映する」をクリックします。これを押すと、トレーニングのために入力したコンテンツが、AIが利用できるような形に内部で変換されます。

トレーニングが終了したら、「会話をテストする」を押して、会話を試しましょう。

マークダウンで登録したコンテンツが表示されれば成功です!
GPT-3.5を利用しているので、そのあとにユーザーが深ぼるような質問をした場合、AIがよしなに応答を返してくれます。

上記の例では、「どんな個人開発をしていますか」の応答のみマークダウンで登録していますが、その下の会話はAIがよしなに進めています。

マークダウンで入力した発話をそのまま入力すれば、指定した応答を返します。その他の発話は、AIが登録したマークダウンコンテンツやエージェントの自己紹介文、会話例文を参考によしなに応答を返してくれます。

5. チャットボットを公開する

上記まででは、まだ会話のテストしか行なえません。エージェントを公開することで、チャットボットを他の人に共有したり、LINE、Slack、API経由で会話ができるようになります。

Webページに埋め込む

エージェントを一般公開をするとWebページに埋め込みが可能になります。

HTMLサイト

公開を行うと、埋め込み用のタグがコピーできるようになります。

React製サイト

下記のライブラリを利用して、React製のサイトに埋め込むことが可能です。
https://zenn.dev/makunugi/articles/30a032f41a3a24

Slack、LINEで会話する

エージェントを限定公開・一般公開のいずれかを行うことで、公開設定画面の下記の画面で、LINE、Slackと連携できます。

API経由で会話する

エージェントを限定公開・一般公開のいずれかを行うことで、APIを有効化できます。

APIの利用や仕様は下記をご確認ください。
https://zenn.dev/makunugi/books/f3d9eb62b6d133/viewer/f0c36f

注意事項

以下の注意事項にご留意の上、ご利用ください。

過激な表現や性的な表現への利用は控えましょう!

OpenAIの規約では、過激な表現や政治的表現、暴力的な表現などを行うAIの作成を禁止しています。
https://beta.openai.com/docs/guides/moderation/overview
事後チェックがあるかもしれないとのことなので、そういった用途で利用しているAPIキーは停止される可能性もあります。マークダウンで書いたコンテンツはOpenAIのAPIに送信します。内容に注意して入力してください。

GPT-3.5は優秀だが発言に誤りもある

高性能ですがまだまだ事実と異なることを発言することがあります。信憑性のない発言を行うことを前提でご利用ください。作成したチャットボットを公開する場合は、ユーザーに誤解を与えないよう配慮をお願いします。OpenAIの規約には、「AIの応答」であることを明記する必要があるという言及もあります。

まとめ

以上の方法で、マークダウンで書いたコンテンツを利用して、簡単にチャットボットを作成することができました。また、GPT-3.5と組み合わせることにより、そのあとの会話の流れが自然になり、より高精度なチャットボットを構築することができます。また、入力したコンテンツをもとに、AIが良くも悪くも勝手に応答を予測して返してくれます。そのため、幅広いユーザーの発話に対して柔軟に応答ができるチャットボットが構築できます。ぜひ興味をお持ちいただけた方は、お試しください!

このサービスへの質問やFBはお気軽に下記Twitterまでお寄せください。
https://twitter.com/maKunugi

最後までお読みいただきありがとうございます。

Discussion