データストアは、データストア ツールがエンドユーザーの質問に対する回答をデータから見つけるために使用されます。データストアは、ウェブサイト、ドキュメント、またはサードパーティ システム内のデータを集約したものです。それぞれがデータを参照します。
エンドユーザーがエージェントに質問すると、エージェントは特定のソース コンテンツから回答を検索し、見つかった結果を簡潔なエージェント レスポンスに要約します。 また、エンドユーザーが詳細を確認できるように、レスポンスのソースへのサポート リンクも提供します。 エージェントは、特定の質問に対して最大 5 つの回答スニペットを提供できます。
データストアのソース
データに指定できるソースは次のとおりです。
- ウェブサイトの URL: ドメインまたはウェブページのリストからウェブサイトのコンテンツを自動的にクロールします。
- BigQuery: BigQuery テーブルからデータをインポートします。
- Cloud Storage: Cloud Storage バケットからデータをインポートします。
アクセス制限のあるデータストアのソース
Google は、制限付きアクセス機能として、ファーストパーティとサードパーティの多くのデータストア ソースを提供しています。使用可能なソースのリストを確認してアクセスをリクエストするには、このページの追加のデータストア ソースをご覧ください。
ウェブサイトのコンテンツ
ウェブサイトのコンテンツをソースとして追加する場合は、複数のサイトを追加または除外できます。
サイトを指定するときに、パターンのワイルドカードとして個々のページまたは *
を使用できます。
すべての HTML と PDF のコンテンツが処理されます。
ウェブサイトのコンテンツをソースとして使用する場合は、ドメインの所有権を確認する必要があります。
制限事項:
- 公開 URL からのファイルは、検索インデックスに存在するように、Google 検索インデクサによってクロールされている必要があります。これは Google Search Console で確認できます。
- インデックスに登録されるページは最大 20 万ページです。データストアにこれ以上のページ数が含まれている場合、その時点でインデックス登録は失敗します。すでにインデックスに登録されているコンテンツはそのまま残ります。
データのインポート
BigQuery または Cloud Storage からデータをインポートできます。このデータは、よくある質問の形式または非構造化とすることができ、メタデータありまたはメタデータなしとすることができます。
次のデータ インポート オプションを使用できます。
- データの追加 / 更新: 提供されたドキュメントがデータストアに追加されます。 新しいドキュメントの ID が古いドキュメントの ID と同じ場合、古いドキュメントは新しいドキュメントに置き換えられます。
- 既存のデータをオーバーライド: 古いデータがすべて削除され、新しいデータがアップロードされます。 この操作は元に戻せません。
よくある質問のデータストア
FAQ データストアは、よくある質問(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
PDF
TXT
CSV
別のプロジェクトの Cloud Storage バケットからファイルをインポートすることは可能ですが、あまり一般的ではありません。これを行うには、インポート プロセスに明示的なアクセス権を付与する必要があります。エラー メッセージの指示に従います。エラー メッセージには、インポートを実行するためにバケットへの読み取りアクセス権が必要なユーザーの名前が含まれています。
制限事項:
- テキストベースの形式のファイルの最大サイズは 2.5 MB、その他の形式の場合は 100 MB です。
メタデータを含むデータストア
タイトルと URL
をメタデータとして指定できます。エージェントがユーザーと会話中、エージェントはユーザーにこの情報を提供します。
これによりユーザーは、Google 検索インデクサがアクセスできない内部ウェブページにすばやくリンクできます。
メタデータを含むコンテンツをインポートするには、JSON Lines ファイルを 1 つ以上指定する必要があります。このファイルの各行に 1 つのドキュメントを記述します。実際のドキュメントを直接アップロードしません。Cloud Storage パスにリンクする URIs
が、JSON Lines ファイルで指定されます。
JSON Lines ファイルを指定するには、これらのファイルを含む Cloud Storage フォルダを指定する必要があります。このフォルダには他のファイルを保存しないでください。
フィールドの説明
フィールド | タイプ | 説明 |
---|---|---|
id | 文字列 | ドキュメントの一意の識別子。 |
content.mimeType | 文字列 | ドキュメントの MIME タイプ。「application/pdf」と「text/html」がサポートされています。 |
content.uri | 文字列 | Cloud Storage 内のドキュメントの URI。 |
structData | 文字列 | title フィールドと url フィールドがオプションの 1 行の 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 リンクを指定します。コンテンツの種類はファイル拡張子によって決まります。
構成の解析とチャンク化
データソースによっては、Vertex AI Search で定義されている解析とチャンクの設定を構成できる場合があります。
データストア ドキュメントに Cloud Storage を使用する
コンテンツが公開されていない場合は、Cloud Storage にコンテンツを保存することをおすすめします。データストア ドキュメントを作成するときは、Cloud Storage オブジェクトの URL を gs://bucket-name/folder-name
の形式で指定します。フォルダ内の各ドキュメントがデータストアに追加されます。
Cloud Storage バケットを作成する場合は、次の手順を行います。
- エージェントに使用するプロジェクトが選択されていることを確認します。
- Standard Storage クラスを使用します。
- バケットのロケーションをエージェントと同じロケーションに設定します。
Cloud Storage クイックスタートの手順に沿って、バケットを作成し、ファイルをアップロードします。
言語
サポートされている言語については、言語リファレンスのデータストア列を参照してください。
最適なパフォーマンスを得るには、データストアを 1 つの言語で作成することをおすすめします。
データストアを作成したら、必要に応じてデータストアの言語を指定できます。データストアの言語を設定すると、別の言語用に構成されたエージェントにデータストアを接続できます。たとえば、英語のエージェントに接続されるフランス語のデータストアを作成できます。
サポートされているリージョン
サポートされているリージョンについては、リージョン リファレンスをご覧ください。
(アクセス制限付き)その他のデータストアのソース
その他のデータストア タイプは次の表に示します。制限付きアクセス機能として利用できます。許可リスト用フォームに記入してアクセスをリクエストできます。承認されると、Agent Builder で新しいデータストアを作成するときに、これらのオプションが表示されます。
Google データストアのソース
データストアのソース | 説明 |
---|---|
Cloud SQL | Cloud SQL テーブルからデータをインポートします。 |
(プレビュー)Spanner | Spanner テーブルからデータをインポートします。 |
(プレビュー)Bigtable | Bigtable テーブルからデータをインポートします。 |
Firestore | Firestore コレクションからデータをインポートします。 |
(プレビュー版)AlloyDB | AlloyDB クラスタからデータをインポートします。 |
Google ドライブ | 組織のドライブへのリンク。 |
(プレビュー版)Google Gmail | 組織の Gmail へのリンク。 |
(プレビュー版)Google サイト | 組織のサイトへのリンク。 |
(プレビュー版)Google カレンダー | 組織のカレンダーへのリンク。 |
(プレビュー版)Google グループ | 組織の Google グループへのリンク。 |
サードパーティのデータストアのソース
データストアのソース | 説明 |
---|---|
(プレビュー版)AODocs | AODocs ドキュメント管理システムからデータをインポートする。 |
Box | 組織の Box サイトからデータをインポートします。 |
Confluence Cloud | Confluence Cloud ワークスペースからデータをインポートします。 |
(プレビュー版)Confluence Data Center | Confluence Data Center ワークスペースからデータをインポートします。 |
Dropbox | Dropbox ストレージからデータをインポートします。 |
(プレビュー)EntraiID | 組織の EntraID システムからデータをインポートします。 |
(プレビュー版)HubSpot | 組織の HubSpot サイトからデータをインポートします。 |
Jira Cloud | Jira のタスク管理システムからデータをインポートします。 |
(プレビュー)Jira Data Center | Jira Data Center サイトからデータをインポートします。 |
(プレビュー)Marketo | 組織の Marketo マーケティング システムからデータをインポートします。 |
(プレビュー版)Notion | 組織の Notion ワークスペースからデータをインポートします。 |
OneDrive | 組織の OneDrive ストレージからデータをインポートします。 |
Microsoft Outlook | Microsoft Outlook からデータをインポートします。 |
Salesforce | Salesforce からデータをインポートします。 |
ServiceNow | ServiceNow からデータをインポートします。 |
SharePoint | 組織の SharePoint システムからデータをインポートします。 |
(プレビュー版)Shopify | 組織の Shopify システムからデータをインポートします。 |
Slack | Slack からデータをインポートします。 |
Microsoft Teams | Microsoft Teams からデータをインポートします。 |
(プレビュー)WordPress | 組織の WordPress サイトからデータをインポートします。 |
コネクタを使用してサードパーティ データストアを設定する
このセクションでは、サードパーティ データを使用してデータストアを設定するプロセスの概要を説明します。各サードパーティ データソースに固有の手順については、生成 AI のドキュメントをご覧ください。
ID プロバイダ
ID プロバイダを使用すると、ユーザー、グループ、認証を管理できます。サードパーティ データストアを設定する場合は、Google ID プロバイダまたはサードパーティ ID プロバイダのいずれかを使用できます。
Google ID プロバイダ:
- エージェントのユーザーは、Google 認証情報を使用してログインする必要があります。これは、任意の
@gmail.com
メールアドレスまたは、Google を ID プロバイダとして使用するアカウント(Google Workspace など)にすることができます。Google ID はシステムに自動的に組み込まれるため、ユーザーが Google Cloud を使用してエージェントに直接話しかける場合は、このステップはスキップされます。 - Google アカウントへのアクセス権は IAM を使用して割り当てることができます。
サードパーティ ID プロバイダ:
- エージェントのユーザーが、Google 以外の認証情報(Microsoft のメールアドレスなど)を使用してログインする。
- Google 以外の ID プロバイダを含む Google Cloud を使用して、Workforce プールを作成する必要があります。その後、IAM を使用して、プール全体またはそのプール内の個々のユーザーにアクセス権を付与できます。
- この方法は、
@google.com
組織の下に設定されたプロジェクトでは使用できません。 Google Cloud
コネクタ
サードパーティ データストアは、コネクタを使用して実装されます。各コネクタには複数のデータストアを含めることができます。これらのデータストアは、会話エージェント(Dialogflow CX)システムにエンティティとして保存されます。
データストアを作成する前に、Google Cloud -> エージェント ビルダー -> 設定で、各リージョンに単一の ID プロバイダを設定する必要があります。そのリージョン内のすべてのデータストアは同じ ID プロバイダを使用します。Workforce プールでは、Google ID またはサードパーティ ID を選択できます。同じ Google 認証情報が Workforce プールにある場合、別の ID と見なされます。たとえば、
test@gmail.com
はworkforcePools/test-pool/subject/test@gmail.com
とは異なる ID とみなされます。- 必要に応じて、Workforce プールを作成します。
- [エージェント ビルダー] の [設定] に移動し、[Google ID] または [サードパーティ ID] を選択します。[保存] をクリックして、ID をリージョンに保存します。
- これで、リージョンにデータストアを作成できるようになりました。
各データストアは、各ドキュメントとともにアクセス制御リスト(ACL)データを保存します。これは、どのエンティティに対する読み取りアクセス権を持つユーザーまたはグループの記録です。実行中に、ユーザーまたはグループ メンバーは、読み取りアクセス権を持つエンティティから取得したエージェントからのレスポンスのみを受け取ります。ユーザーがデータストア内のエンティティに対する読み取りアクセス権を持っていない場合、エージェントは空のレスポンスを返します。
データストア内のデータはサードパーティ インスタンスのコピーであるため、定期的に更新する必要があります。更新間隔は、時間単位または日単位で構成できます。
データストアを構成して [作成] をクリックした後、データストアがデータストアのリストに表示されるまで、最長で 1 時間ほどかかることがあります。
次のステップ
データストアの作成とエージェントでの使用手順については、データストア ツールのドキュメントをご覧ください。