データストア ツールは、データストアを使用して、エンドユーザーの質問に対する回答をデータから見つけます。データストアは、ウェブサイト、ドキュメント、サードパーティ システムのデータのコレクションで、それぞれがデータを参照します。
エージェントに質問すると、エージェントは特定のソース コンテンツから回答を検索し、見つかった結果を簡潔な回答に要約します。また、回答のソースへのサポートリンクも提供されるため、詳細を確認できます。エージェントは、特定の質問に対して最大 5 つの回答スニペットを提供できます。
データストアのソース
データにはさまざまなソースを使用できます。
- ウェブサイトの URL: ドメインまたはウェブページのリストからウェブサイトのコンテンツを自動的にクロールします。
- BigQuery: BigQuery テーブルからデータをインポートします。
- Cloud Storage: Cloud Storage バケットからデータをインポートします。
- AlloyDB: AlloyDB for PostgreSQL クラスタからデータをインポートします。
- Bigtable: Bigtable テーブルからデータをインポートします。
- Firestore: Firestore コレクションからデータをインポートします。
- Cloud SQL: Cloud SQL テーブルからデータをインポートします。
- Spanner: Spanner テーブルからデータをインポートします。
アクセス制限付きのデータストア ソース
Google は、制限付きアクセス機能として、ファーストパーティとサードパーティのデータストア ソースを多数提供しています。利用可能なソースを確認してアクセスをリクエストするには、追加のデータストア ソースをご覧ください。
ウェブサイトのコンテンツ
ウェブサイトのコンテンツをソースとして追加する場合は、複数のサイトを追加または除外できます。
サイトを指定するときに、パターンのワイルドカードとして個々のページまたは * を使用できます。システムはすべての HTML と PDF のコンテンツを処理します。
ウェブサイトのコンテンツをソースとして使用する場合は、ドメインの所有権を証明します。
制限事項:
- 公開 URL からのファイルは、検索インデックスに存在するように、Google 検索インデクサによってクロールされている必要があります。これは Google Search Console で確認できます。
- 最大 200,000 ページがインデックスに登録されます。データストアにこれ以上のページ数が含まれている場合、インデックス登録はその時点で失敗しますが、すでにインデックスに登録されているコンテンツは残ります。
データのインポート
BigQuery または Cloud Storage からデータをインポートできます。このデータは、よくある質問データ、非構造化データ、メタデータありのデータ、メタデータなしのデータの形式にすることができます。
次のデータ インポートのオプションを使用できます。
- データの追加/更新: 提供されたドキュメントをデータストアに追加します。新しいドキュメントの ID が既存のドキュメントと同じ場合、新しいドキュメントが古いドキュメントに置き換わります。
- 既存のデータを上書きする: 既存のデータをすべて削除し、新しいデータをアップロードします。この操作は取り消せません。
よくある質問のデータストア
データストアは、よくある質問の回答を保持できます。エージェントがユーザーの質問をアップロードされた質問と高い信頼性で一致させると、その質問に対する回答を変更せずに返します。エージェントが表示する質問と回答のペアごとに、タイトルと 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
別のプロジェクトの Cloud Storage バケットからファイルをインポートできます。これを行うには、インポート プロセスに明示的なアクセス権を付与します。エラー メッセージの指示に従ってください。エラー メッセージには、インポートを実行するためにバケットへの読み取りアクセス権が必要なユーザーの名前が含まれています。
制限事項:
- テキストベースの形式のファイルの最大サイズは 2.5 MB、その他の形式の場合は 100 MB です。
メタデータを含むデータストア
タイトルと 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。 |
| 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"} }
メタデータなしのデータストア
このコンテンツにはメタデータがありません。代わりに、個々のドキュメントへの URI リンクを指定します。コンテンツ タイプはファイル拡張子によって決まります。
解析とチャンク化の構成
データソースに応じて、Agent Search が定義する解析とチャンクの設定を構成できます。
データストア ドキュメントに Cloud Storage を使用する
コンテンツが一般公開されていない場合は、Cloud Storage に保存することをおすすめします。データストア ドキュメントを作成するときは、Cloud Storage オブジェクトの URL を gs://bucket-name/folder-name の形式で指定します。フォルダ内の各ドキュメントがデータストアに追加されます。
Cloud Storage バケットを作成する場合は、次の手順を行います。
- エージェントに使用するプロジェクトを選択します。
- Standard Storage クラスを使用します。
- バケットのロケーションをエージェントと同じロケーションに設定します。
Cloud Storage クイックスタートの手順に沿って、バケットを作成し、ファイルをアップロードします。
言語
サポートされている言語の詳細については、言語リファレンスのデータストア列をご覧ください。
最適なパフォーマンスを得るには、データストアを 1 つの言語で作成します。
データストアを作成したら、必要に応じてデータストアの言語を指定できます。データストアの言語を設定すると、別の言語用に構成されたエージェントにデータストアを接続できます。たとえば、英語のエージェントに接続されるフランス語のデータストアを作成できます。
サポートされるリージョン
サポートされているリージョンの詳細については、リージョン リファレンスをご覧ください。
(アクセス制限あり)追加のデータストア ソース
次の表に、追加のデータストア タイプを示します。これらは制限アクセス機能として利用できます。アクセスをリクエストするには、アクセス リクエスト フォームに記入します。承認されると、Vertex AI Agent Builder でデータストアを作成するときに、これらのオプションが表示されます。
サードパーティのデータストア ソース
| データストアのソース | 説明 |
|---|---|
| Box | 組織の Box サイトからデータをインポートします。 |
| Confluence Cloud | Confluence Cloud ワークスペースからデータをインポートします。 |
| Dropbox | Dropbox ストレージからデータをインポートします。 |
| EntraID | 組織の EntraID システムからデータをインポートします。 |
| Jira Cloud | Jira タスク管理システムからデータをインポートします。 |
| OneDrive | 組織の OneDrive ストレージからデータをインポートします。 |
| Microsoft Outlook | Microsoft Outlook からデータをインポートします。 |
| Salesforce | Salesforce からデータをインポートします。 |
| ServiceNow | ServiceNow からデータをインポートします。 |
| SharePoint | 組織の SharePoint システムからデータをインポートします。 |
| Slack | Slack からデータをインポートします。 |
| Microsoft Teams | Microsoft Teams からデータをインポートします。 |
コネクタを使用してサードパーティのデータストアを設定する
このセクションでは、サードパーティ データを使用してデータストアを設定する方法について説明します。サードパーティのデータソースごとの手順については、Vertex AI Agent Builder のドキュメントをご覧ください。
ID プロバイダ
ID プロバイダを使用すると、ユーザー、グループ、認証を管理できます。サードパーティのデータストアを設定する場合は、Google Identity またはサードパーティの ID プロバイダを使用できます。
Google Identity プロバイダ:
- エージェントのユーザーは、Google 認証情報を使用してログインします。これは、
@gmail.comのメールアドレス、または Google を ID プロバイダとして使用するアカウント(Google Workspace など)です。ユーザーが Google Cloud を使用してエージェントと直接会話する場合、Google ID がシステムに自動的に組み込まれるため、このステップはスキップされます。 - Identity and Access Management(IAM)を使用して、Google アカウントにアクセス権を割り当てることができます。
サードパーティの ID プロバイダ:
- エージェントのユーザーが、Google 以外の認証情報(Microsoft のメールアドレスなど)を使用してログインする。
- Google 以外の ID プロバイダを含むGoogle Cloud を使用して、Workforce プールを作成する必要があります。その後、IAM を使用して、プール全体またはそのプール内の個々のユーザーにアクセス権を付与できます。
- この方法は、
@google.com組織で設定された Google Cloud プロジェクトでは使用できません。
コネクタ
サードパーティのデータストアは、コネクタを使用して実装されます。各コネクタには複数のデータストアを含めることができます。これらのデータストアは、Dialogflow CX システムにエンティティとして保存されます。
- データストアを作成する前に、Google Cloud > [Agent Builder] > [設定] で、各リージョンに単一の ID プロバイダを設定する必要があります。そのリージョン内のすべてのデータストアは、同じ ID プロバイダを使用します。Workforce プールでは、Google Identity またはサードパーティ ID のいずれかを選択できます。同じ Google 認証情報が Workforce プールにある場合は、別の ID と見なされます。たとえば、
test@gmail.comはworkforcePools/test-pool/subject/test@gmail.comとは異なる ID とみなされます。- Workforce プールを作成する(必要な場合)。
- [Agent Builder] の [設定] に移動し、[Google Identity] または [サードパーティの ID] を選択します。[保存] をクリックして、ID をリージョンに保存します。
- これで、リージョンにデータストアを作成できるようになりました。
- 各データストアは、各ドキュメントとともにアクセス制御リスト(ACL)データを保存します。このレコードは、どのユーザーまたはグループがどのエンティティに対する読み取りアクセス権を持っているかを追跡します。実行時に、ユーザーまたはグループ メンバーは、読み取りアクセス権を持つエンティティからレスポンスが提供された場合にのみ、エージェントからレスポンスを受け取ります。ユーザーがデータストア内のエンティティに対する読み取りアクセス権を持っていない場合、エージェントは空のレスポンスを返します。
- データストア内のデータはサードパーティ インスタンスのコピーであるため、定期的に更新する必要があります。更新間隔は、時間単位または日単位で構成できます。
- データストアを構成して [作成] をクリックした後、データストアがデータストア リストに表示されるまでに最大 1 時間かかることがあります。
データストアのトレース
この機能は次の 2 つの部分で構成されています。
- エージェント シミュレータにデータストアの内部実行トレースとステップ レイテンシを表示します。
- データストアの内部実行トレースとステップ レイテンシを Cloud Logging と BigQuery にエクスポートします。
シミュレータでデータを表示する
エージェント シミュレータにトレースデータと実行データを表示するには、エージェントのレスポンスの右側にある展開矢印をクリックして、会話ターンの詳細を開きます。
[実行] タブには、次の要素を含む内部データストアの実行トレースが表示されます。
- 元のユーザー入力。
- データストア エンジンによって書き換えられたクエリ。
- セキュリティ チェック ステータス、安定性チェック ステータス、グラウンディング チェック結果、安全性チェック ステータスなど、実行ステップの品質シグナル。
- データストア検索からの検索スニペット。
- スニペットのサポート ドキュメントのリスト。
[レイテンシ] タブには、さまざまなデータストア実行ステップのタイムグラフが表示されます。ステップのリストは、データストアと実行フローの構成方法によって異なります。このタブには、次のデータが表示されます。
- FAQ 照合: FAQ 照合ステップを実行します。
- クエリの書き換え: 元のユーザークエリを書き換えます。
- Search: スニペット検索を実行します。
- 要約: 回答を要約します。
- 安全チェック: 安全チェックの手順を実行します。
他のロケーションでトレースデータを表示する
- 会話履歴ロギングを使用して会話エージェントを構成すると、会話履歴でデータストア トレースを表示できます。
- Logging を使用して会話エージェントを構成すると、クラウドのログ エクスプローラでトレースとレイテンシを表示できます。
- BigQuery Export を使用して会話エージェントを構成すると、エクスポートされた BigQuery テーブルでトレースとレイテンシを表示できます。
次のステップ
エージェントでデータストアを作成して使用する方法については、データストア ツールのドキュメントをご覧ください。