データストアは、データストア エージェントがデータからエンドユーザーの質問の回答を見つけるために使用します。データストアは、ウェブサイトとドキュメントの集まりで、それぞれがデータを参照します。
エンドユーザーがエージェントに質問すると、エージェントは特定のソース コンテンツから回答を検索し、見つかった結果を簡潔なエージェント レスポンスに要約します。また、エンドユーザーが詳細を確認できるように、レスポンスのソースへのリンクも提供します。エージェントは、特定の質問に対して最大 5 つの回答スニペットを提供できます。
データストアのソース
データにはさまざまなソースを指定できます。
- ウェブサイトの URL: ドメインのリストから、またはウェブページのリストからウェブサイトのコンテンツを自動的にクロールします。
- BigQuery: BigQuery テーブルからデータをインポートします。
- Cloud Storage: Cloud Storage バケットからデータをインポートします。
ウェブサイトのコンテンツ
ウェブサイトのコンテンツをソースとして追加する場合は、複数のサイトを追加または除外できます。
サイトを指定するときに、パターンのワイルドカードとして個々のページまたは *
を使用できます。
すべての HTML と PDF のコンテンツが処理されます。
ウェブサイトのコンテンツをソースとして使用する場合は、ドメインの所有権を確認する必要があります。
制限事項:
- 公開 URL からのファイルは、検索インデックスに存在するように、Google 検索インデクサによってクロールされている必要があります。これは Google Search Console で確認できます。
- 最大 200,000 ページがインデックスに登録されます。データストアにより多くのページが含まれている場合、インデックス登録は失敗し、最後にインデックスに登録されたコンテンツが残ります。
データをインポートする
BigQuery または Cloud Storage からデータをインポートできます。 このデータは、構造化または非構造化とすることができ、メタデータありまたは メタデータなしとすることができます。
利用可能なデータ インポート オプションは次のとおりです。
- データの追加 / 更新: 提供されたドキュメントがデータストアに追加されます。 新しいドキュメントに古いドキュメントと同じ ID が割り当てられている場合、古いドキュメントは新しいドキュメントで置き換えられます。
- 既存のデータをオーバーライド: 古いデータがすべて削除され、新しいデータがアップロードされます。 この操作は元に戻せません。
構造化データストア
構造化データストアは、よくある質問(FAQ)の回答を保持できます。 ユーザーの質問がアップロードされた質問と高い信頼性で一致すると、エージェントはその質問に対する回答を変更せずに返します。 エージェントに表示される質問と回答のペアごとに、タイトルと URL を指定できます。
データストアにデータをアップロードするときは、CSV 形式を使用する必要があります。各ファイルには、列を記述するヘッダー行が必要です。
次に例を示します。
"question","answer","title","url"
"Why is the sky blue?","The sky is blue because of Rayleigh scattering.","Rayleigh scattering","https://en.wikipedia.org/wiki/Rayleigh_scattering"
"What is the meaning of life?","42","",""
title
列と url
列はオプションであり、省略できます。
"answer","question"
"42","What is the meaning of life?"
アップロード プロセス中に、フォルダを選択します。ここでは、拡張子に関係なく各ファイルが CSV ファイルとして扱われます。
制限事項:
,
の後に空白文字があると、エラーが発生します。- 空白行(ファイルの末尾であっても)があると、エラーが発生します。
非構造化データストア
非構造化データストアには、次の形式のコンテンツを含めることができます。
- HTML
- TXT
- CSV
制限事項:
- ドキュメントの最大サイズは 100MB です。
メタデータを含むデータストア
タイトルと URL をメタデータとして指定できます。エージェントがユーザーと会話中、エージェントはユーザーにこの情報を提供します。 これにより、Google 検索インデクサがアクセスできない内部ウェブページにすばやくリンクできます。
メタデータを含むコンテンツをインポートするには、1 つ以上の JSON Lines ファイルを指定します。このファイルの各行に 1 つのドキュメントを記述します。 実際のドキュメントを直接アップロードしません。 Cloud Storage パスにリンクする URI が、JSON Lines ファイルで指定されます。
JSON Lines ファイルを指定するときに、これらのファイルが含まれている Cloud Storage フォルダを指定します。 このフォルダに他のファイルを配置しないでください。
フィールドの説明
フィールド | タイプ | 説明 |
---|---|---|
id | 文字列 | ドキュメントの一意の識別子。 |
content.mimeType | 文字列 | ドキュメントの MIME タイプ。「application/pdf」と「text/html」がサポートされています。 |
content.uri | 文字列 | Cloud Storage 内のドキュメントの URI。 |
content.structData | 文字列 | オプションの title フィールドと url フィールドを持つ単一行の JSON オブジェクト。 |
次に例を示します。
{ "id": "d001", "content": {"mimeType": "application/pdf", "uri": "gs://example-import/unstructured/first_doc.pdf"}, "structData": {"title": "First Document", "url": "https://internal.example.com/documents/first_doc.pdf"} }
{ "id": "d002", "content": {"mimeType": "application/pdf", "uri": "gs://example-import/unstructured/second_doc.pdf"}, "structData": {"title": "Second Document", "url": "https://internal.example.com/documents/second_doc.pdf"} }
{ "id": "d003", "content": {"mimeType": "text/html", "uri": "gs://example-import/unstructured/mypage.html"}, "structData": {"title": "My Page", "url": "https://internal.example.com/mypage.html"} }
メタデータなしのデータストア
このタイプのコンテンツにはメタデータはありません。 インポートするドキュメントを指定するだけです。 コンテンツ タイプは、ファイル拡張子によって決まります。
データストアを作成する
データストアを作成するには:
Google Cloud コンソールで、[検索と会話] ページに移動します。
コンソールのプルダウンからプロジェクトを選択します。
利用規約を読み、同意し、[続行して API を有効にする] をクリックします。
左側のナビゲーションで [データストア] をクリックします。
[新しいデータストア] をクリックします。
データのソースを選択します。
[高度なウェブサイトのインデックス登録] を有効にします。 これは、データストア エージェントに必要です。
選択したデータストア ソースのデータと構成を指定します。データストアのロケーションは、エージェントのロケーションに対応している必要があります。
[作成] をクリックしてデータストアを作成します。
データストア ドキュメントに Cloud Storage を使用する
コンテンツが公開されていない場合は、Cloud Storage にコンテンツを保存することをおすすめします。データストア ドキュメントを作成するときは、Cloud Storage オブジェクトの URL を gs://bucket-name/folder-name
の形式で指定します。
フォルダ内の各ドキュメントがデータストアに追加されます。
Cloud Storage バケットを作成する場合は、次の手順を行います。
- エージェントに使用するプロジェクトが選択されていることを確認します。
- Standard Storage クラスを使用します。
- バケットのロケーションをエージェントと同じロケーションに設定します。
Cloud Storage クイックスタートの手順に沿って、バケットを作成し、ファイルをアップロードします。
サポートされている言語
サポートされている言語については、Dialogflow 言語リファレンスのデータストア列をご覧ください。
最高のパフォーマンスを得るには、データストアを 1 つの言語で作成することをおすすめします。
サポートされるリージョン
サポートされるリージョンについては、Dialogflow リージョン リファレンスをご覧ください。