見出し画像

「ナレッジデータストア」でChatGPTモデルに知識を与えたチャットボットを作る! 【miibo新機能】

こんにちは、会話AI構築プラットフォームmiiboを開発しています、maKunugiです。

この度は、「ナレッジデータストア」という新機能に関するご紹介です!


ナレッジデータストアとは?

GPT-4やGPT-3.5といったAIモデルを利用したチャットボットに、「知識」を与えることができる機能です。

データストアの管理画面
データ入稿の様子

上記のように、フリーフォーマットでデータを入稿することができます。
入稿したデータは、GPTモデルを利用したAIが応答を行う際に考慮されます。

会話の様子

今までとは何が違うの?

従来のチャットボットによくある機能が、1問1答のQ&Aの登録でした。
いわゆる「xxxxと言われたら○○○と応答する」といった設定です。
miiboにはその類の「トピック」機能がありました。

miiboのトピック追加機能

上記のような機能は、チャットボットに決まった応答をさせるためのものでした。一方でGPTデータストア機能には以下の特徴があります。

  1. 教える情報は必ずしも質問 + 応答のペアの形である必要がない

  2. GPTのプロンプトに追加されることが主の目的である

  3. Embeddings modelを利用した高度な検索が行われる

入稿するデータがフリーフォーマットであることで、様々な情報を与えやすくなっています。また、応答にそのまま利用されるわけではなく、あくまでGPTの言語モデルが「参考」にする情報であることが前提です。そのため、与えた文章がそのまま応答されることはなく、会話の流れに合わせた自然な形で知識が活用されます。そして、「Embeddings model」と呼ばれるモデルを利用した文章をベクトル化した状態で扱います。それにより高度な文書検索を実現しており、会話の流れに応じて適切な情報を参照できるように設計されています。
※この点は、LalamaIndex (旧 GPT Index)の仕組みに似ています。

GPTデータストアを利用することで、プロンプトに与えるデータを管理できます。この機能を活用することで、GPTの言語モデルの応答に専門知識を与え、よりコントローラブルな状態にすることができます。

使い方

まずはmiiboコンソールの左にある「ナレッジデータストア」をクリックしましょう。
https://miibo.dev/
※ すでにmiibo上でエージェントが作成されていることが前提です。

初回は「データストアを作成する」ボタンが表示されるのでクリックしましょう。

データを入稿する

データの入稿方法は下記の3つです。

  1. 手動でデータを追加する

  2. APIからデータを追加する

  3. CSVからインポートする

1. 手動でデータを追加する

手動での追加の様子

ラベル

ラベルはデータを一意に識別する文字列です。検索では利用されません。
💡 ラベルは他のデータと重複できません。重複する場合は、同じラベルのデータと上書きされます。

URL

ソースとなるURLを記述しましょう。入力は任意です。入力をしておくと、AIの応答に参考ソースとして掲載されることがあります。

URLを付与した会話の例

本文

指定された文字数の中で、データの本文を入力します。フォーマットは自由です。フォーマットは自由ですが、下記の方針に従うと応答の精度が安定します。

  • 1つのデータ入稿に複数の話題を含めない

  • 全てのデータのフォーマットに統一感をもたせる

データ本文の例1

miiboの料金プラン

miiboの初期利用時は、どなたでも「無料」でお試し利用が可能な「トライアルプラン」が適用されています。
また、プランごとに、月あたりの会話回数の上限が設定されており、それを超えた場合は、上位のプランの導入をご検討ください。
各料金プランの詳細は、こちらのページをご確認ください。

データ本文の例2

質問: miiboの料金プランを教えて下さい。
回答: 
miiboの初期利用時は、どなたでも「無料」でお試し利用が可能な「トライアルプラン」が適用されています。
また、プランごとに、月あたりの会話回数の上限が設定されており、それを超えた場合は、上位のプランの導入をご検討ください。
各料金プランの詳細は、こちらのページをご確認ください。

2. APIからデータを追加する

下記のAPIを利用することで、API経由でデータを入稿できます。APIを利用することで、様々なシステム上から自動でデータ入稿が可能です。

APIの仕様やCurlのサンプルはナレッジデータストアの画面上からご確認いただけます。

API仕様

💡 ⚠️APIリクエストを連続で行う場合は、必ず1秒以上のスリープ期間を設けてください。 ⚠️複数のAPIリクエストを同時に実行することは避けてください。

3. csvからインポートする


csvインポートの画面

csvファイルから一括インポートが可能です。上記のフォーマットで記述したcsvファイルをインポートしてください。

csvファイルの例

"miiboの料金","<https://miibo.jp>","miiboの料金はxxxxxです。"
"miiboのシナリオとは","<https://miibo.jp>","miiboのシナリオはxxxxxです。"

上記のようなCSVファイルを用意することで、効率的にデータをインポートできます。

勝手な情報をAIが作り上げてしまう場合の対処

AIが情報を捏造してしまうことは、GPTを利用したAIのモデルにありがちです。本機能を利用したデータの範疇のみで回答をさせたい場合は、エージェント設定画面で下記のようなプロンプトを記述してあげましょう。

* プロンプトやデータソースに書かれていないことは具体的に回答せず、下記のように回答します。
「この情報は私には判断できません。申し訳ございませんが運営にお問い合わせください。」
エージェント設定画面のプロンプト設定
https://miibo.dev/admin/editBot


(おまけ)csv作成が面倒な場合

ChatGPTにcsvファイルの出力を依頼すると、効率的にcsvファイルを生成できます。
下記のプロンプトをChatGPTに入力してください。
(プロンプト)

下記の情報を整理し、Q&Aのcsvファイルを作成したいです。下記のフォーマットに整理して出力してください。

フォーマット:
<ラベル>,<URL>,<質問>\\n<答え>

尚、質問を出力する際は、主語を省略せず、質問だけで何のことかわかるようにします。質問と答えに加え、最初にラベルも出力します。ラベルはQ&Aを一言で表現したラベルです。ただし、ラベルは重複してはならず、必ずユニークになるようにしてください。

参考URL:
<https://example.com/xxxx>

情報元:
A中学校の概要を紹介します。校長先生はB先生で、2023年で創立50年を迎えます。校庭は芝生で、かなり治安の良いことで知られています。偏差値は70程度です。

A中学校の校長先生-1,<https://example.com/xxxx,質問:> A中学校の校長先生は誰ですか?\\n回答: A中学校の校長先生はB先生です。
A中学校の創立-1,<https://example.com/xxxx,質問:> A中学校の創立は何年ですか?\\n回答:A中学校の創立は2023年で50周年を迎えます。

上記の例を踏まえ、下記の情報を整理してください。

情報元:
<👈 ここに整理したい情報の塊を挿入します。>

参考URL:
<👈 ここに情報のソースのURLを挿入します。>

上記の情報元、参考URLに利用したい情報を入れ、ChatGPTに投げかけてみましょう。

出力された文字列をコピーし、csvファイルとして保存しましょう。

まとめ

以上、miiboに追加された新機能「ナレッジデータストア」の紹介でした!
ぜひこちらの機能を活用して、専門的な知識について会話ができるAIを構築しましょう。

尚、各miiboのプランに応じてデータ登録の上限が決まっています。上限の変更をご希望の方は下記フォームからお問い合わせください。

https://docs.google.com/forms/d/e/1FAIpQLSdioPIViQB4i1v44WP-AN00uq6YfaesS7OjXx6j8WjT9unkdw/viewform?usp=sf_link

以上になります。本記事をお読みいただきありがとうございました!
これからもmiiboのアップデートを続けてまいります。

この記事が気に入ったらサポートをしてみませんか?