データストアを作成して検索用にデータを取り込むには、使用するソースのセクションに移動します。
- ウェブサイトのコンテンツを使用してデータストアを作成する
- BigQuery からインポート
- Cloud Storage からインポートする
- Google ドライブから同期
- Gmail から同期する(公開プレビュー)
- Google サイトから同期する(公開プレビュー)
- Google カレンダーから同期する(公開プレビュー)
- Google グループから同期する(パブリック プレビュー)
- ユーザーデータを同期する(公開プレビュー)
- Cloud SQL からインポート
- Spanner からのインポート(公開プレビュー)
- Firestore からインポートする
- Bigtable からインポートする(パブリック プレビュー)
- AlloyDB for PostgreSQL からのインポート(一般提供プレビュー)
- API を使用して構造化 JSON データをアップロードする
- Terraform を使用してデータストアを作成する
サードパーティのデータソースからデータを同期するには、サードパーティのデータソースを接続するをご覧ください。
制限事項
CMEK 組織のポリシーがある場合は、Google Cloud コンソールではなく API を使用して新しいデータストアを作成する必要があります。CMEK 組織のポリシーが有効になっている場合、Google Cloud コンソールを使用して新しいデータストアを作成することはできません。Vertex AI Search での CMEK のサポートの詳細については、顧客管理の暗号鍵をご覧ください。
ウェブサイトのコンテンツを使用してデータストアを作成する
次の手順でデータストアを作成し、ウェブサイトをインデックスに登録します。
ウェブサイト データストアを作成した後に使用するには、Enterprise 機能が有効になっているアプリに接続する必要があります。アプリを作成するときに、アプリの Enterprise エディションを有効にできます。これにより追加費用が発生します。検索アプリを作成すると高度な機能についてをご覧ください。
Console
Google Cloud コンソールを使用してデータストアを作成し、ウェブサイトをインデックスに登録する手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[ソース] ページで、[ウェブサイトのコンテンツ] を選択します。
このデータストアでウェブサイトの高度なインデックス登録を有効にするかどうかを選択します。このオプションは後でオンまたはオフにすることはできません。
ウェブサイトの高度なインデックス登録では、検索の要約、フォローアップ付き検索、抽出回答などの追加機能が提供されます。 高度なウェブサイト インデックス登録を使用すると、追加料金がかかります。また、インデックスに登録するウェブサイトのドメインの所有権を確認する必要があります。詳細については、ウェブサイトの高度なインデックス登録と料金をご覧ください。
[追加するサイト] フィールドに、データストアに含めるウェブサイトに一致する URL パターンを入力します。カンマ区切りを使用せずに、1 行に 1 つの URL パターンを含めます。例:
www.example.com/docs/*
省略可: [除外するサイト] フィールドに、データストアから除外する URL パターンを入力します。
含めるまたは除外できる URL パターンの数については、ウェブサイトのデータをご覧ください。
[続行] をクリックします。
データストアのロケーションを選択します。ロケーションを選択するには、ウェブサイトの高度なインデックス登録をオンにする必要があります。
データストアの名前を入力します。
[作成] をクリックします。Vertex AI Search によってデータストアが作成され、[データストア] ページにデータストアが表示されます。
データストアに関する情報を表示するには、[名前] 列でデータストアの名前をクリックします。データストアのページが表示されます。
- [ウェブサイトの高度なインデックス登録] をオンにすると、データストア内のドメインの確認を求める警告が表示されます。
- 割り当て不足(指定したウェブサイトのページ数が、プロジェクトの「プロジェクトあたりのドキュメント数」の割り当てを超えている場合)は、割り当てのアップグレードを促す警告がさらに表示されます。
データストア内の URL パターンのドメインを確認するには、ウェブサイトのドメインを確認するページの手順に沿って操作します。
割り当てをアップグレードする手順は次のとおりです。
- [割り当てをアップグレード] をクリックします。Google Cloud コンソールの [IAM と管理] ページが表示されます。
- Google Cloud ドキュメントの割り当て上限の引き上げをリクエストするの手順に沿って操作します。増やす割り当ては、Discovery Engine API サービスの ドキュメント数です。
- 割り当て上限の引き上げリクエストを送信したら、[Agent Builder] ページに戻り、ナビゲーション メニューの [データストア] をクリックします。
- [名前] 列でデータストアの名前をクリックします。[ステータス] 列には、割り当てを超えたウェブサイトのインデックス作成が進行中であることが示されます。URL の [ステータス] 列に [インデックス登録済み] と表示されている場合、その URL または URL パターンに対してウェブサイトのインデックス登録の高度な機能を使用できます。
詳細については、[割り当てと上限] ページのウェブページのインデックス登録の割り当てをご覧ください。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ウェブサイトをインポートする
次のステップ
ウェブサイト データストアをアプリにアタッチするには、エンタープライズ機能を有効にしてアプリを作成し、検索アプリを作成するの手順に沿ってデータストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
BigQuery からインポート
BigQuery テーブルからデータストアを作成するには、次の 2 つの方法があります。
1 回限りの取り込み: BigQuery テーブルからデータストアにデータをインポートします。データストア内のデータは、手動でデータを更新しない限り変更されません。
定期的な取り込み: 1 つ以上の BigQuery テーブルからデータをインポートし、BigQuery データセットの最新データでデータストアが更新される頻度を決定する同期頻度を設定します。
次の表は、BigQuery データを Vertex AI Search データストアにインポートする 2 つの方法を比較したものです。
1 回限りの取り込み | 定期的な取り込み |
---|---|
一般提供(GA)。 | 公開プレビュー版。 |
データは手動で更新する必要があります。 | データは 1 日、3 日、5 日ごとに自動的に更新されます。データを手動で更新することはできません。 |
Vertex AI Search は、BigQuery の 1 つのテーブルから単一のデータストアを作成します。 | Vertex AI Search は、BigQuery データセットのデータ コネクタと、指定された各テーブルのデータストア(エンティティ データストア)を作成します。データ コネクタごとに、テーブルのデータ型(構造化など)が同じで、同じ BigQuery データセットに存在している必要があります。 |
複数のテーブルのデータを 1 つのデータストアに統合するには、まず 1 つのテーブルからデータを取り込み、次に別のソースまたは BigQuery テーブルからデータを取り込みます。 | 手動データ インポートはサポートされていないため、エンティティ データストアのデータは 1 つの BigQuery テーブルからのみ取得できます。 |
データソースのアクセス制御がサポートされています。 | データソースのアクセス制御はサポートされていません。インポートされたデータにアクセス制御を含めることはできますが、これらの制御は考慮されません。 |
データストアは、Google Cloud コンソールまたは API を使用して作成できます。 | データ コネクタとそのエンティティ データストアは、コンソールを使用して作成する必要があります。 |
CMEK-対応。 | CMEK に準拠していません。 |
BigQuery から 1 回インポートする
BigQuery テーブルからデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
データをインポートする前に、取り込むデータを準備します。
Console
Google Cloud コンソールを使用して BigQuery からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[BigQuery] を選択します。
インポートするデータの種類を選択します。
[1 回] をクリックします。
[BigQuery のパス] フィールドで [参照] をクリックし、取り込み用に準備したテーブルを選択して、[選択] をクリックします。 または、[BigQuery パス] フィールドにテーブルの場所を直接入力します。
[続行] をクリックします。
構造化データを 1 回限りインポートする場合:
フィールドをキー プロパティにマッピングします。
スキーマに重要なフィールドが欠落している場合は、[新しいフィールドを追加] を使用して追加します。
詳細については、自動検出と編集についてをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、BigQuery からデータをインポートする手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
省略可: 非構造化データをアップロードし、ドキュメント解析を構成する場合や、RAG のドキュメント チャンキングを有効にする場合は、
documentProcessingConfig
オブジェクトを指定して、データストアの作成リクエストに含めます。スキャンされた PDF を取り込む場合は、PDF 用の OCR パーサーを構成することをおすすめします。解析オプションまたはチャンク処理オプションの構成方法については、ドキュメントの解析とチャンク処理をご覧ください。BigQuery からデータをインポートします。
スキーマを定義した場合は、データがそのスキーマに準拠していることを確認します。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigquerySource": { "projectId": "PROJECT_ID", "datasetId":"DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "DATA_SCHEMA", "aclEnabled": "BOOLEAN" }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。DATASET_ID
: BigQuery データセットの ID。TABLE_ID
: BigQuery テーブルの ID。- BigQuery テーブルが PROJECT_ID にない場合は、サービス アカウント
service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
に BigQuery テーブルに対する「BigQuery データ閲覧者」権限を付与する必要があります。たとえば、ソース プロジェクト「123」から宛先プロジェクト「456」に BigQuery テーブルをインポートする場合は、プロジェクト「123」の BigQuery テーブルにservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
権限を付与します。
- BigQuery テーブルが PROJECT_ID にない場合は、サービス アカウント
DATA_SCHEMA
: 省略可。値はdocument
およびcustom
です。デフォルトはdocument
です。document
: 使用する BigQuery テーブルは、取り込み用にデータを準備するで説明されているデフォルトの BigQuery スキーマに準拠している必要があります。各ドキュメントの ID を自分で定義し、すべてのデータを jsonData 文字列にラップできます。custom
: 任意の BigQuery テーブル スキーマが受け入れられ、インポートされた各ドキュメントの ID が Vertex AI Search によって自動的に生成されます。
ERROR_DIRECTORY
: 省略可。インポートに関するエラー情報用の Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。Vertex AI Search に一時ディレクトリを自動的に作成させるには、このフィールドを空のままにすることをおすすめします。RECONCILIATION_MODE
: 省略可。値はFULL
およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、BigQuery からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新規および更新されたドキュメントがデータストアに追加され、BigQuery にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで整合性が維持されない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。autoGenerateIds
は、bigquerySource.dataSchema
がcustom
に設定されている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。autoGenerateIds
を指定しない場合、またはfalse
に設定しない場合は、idField
を指定する必要があります。そうしないと、ドキュメントのインポートに失敗します。ID_FIELD
: 省略可。ドキュメント ID であるフィールドを指定します。BigQuery ソースファイルの場合、idField
は、ドキュメント ID を含む BigQuery テーブルの列の名前を示します。idField
は、(1)bigquerySource.dataSchema
がcustom
に設定されていること、(2)auto_generate_ids
がfalse
に設定されているか、指定されていないこと、の場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。BigQuery 列名の値は文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
C#
詳細については、Vertex AI Agent Builder C# API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Go
詳細については、Vertex AI Agent Builder Go API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Java
詳細については、Vertex AI Agent Builder Java API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Node.js
詳細については、Vertex AI Agent Builder Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Ruby
詳細については、Vertex AI Agent Builder Ruby API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
定期的な同期で BigQuery に接続する
データをインポートする前に、取り込むデータを準備します。
次の手順では、BigQuery データセットを Vertex AI Search データ コネクタに関連付けるデータ コネクタを作成する方法と、作成するデータストアごとにデータセットにテーブルを指定する方法について説明します。データ コネクタの子データストアは、エンティティ データストアと呼ばれます。
データセットのデータは、エンティティ データストアと定期的に同期されます。同期は、毎日、3 日ごと、5 日ごとに指定できます。
Console
Google Cloud コンソールを使用して、BigQuery データセットから Vertex AI Search にデータを定期的に同期するコネクタを作成するには、次の操作を行います。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[ソース] ページで、[BigQuery] を選択します。
インポートするデータの種類を選択します。
[定期] をクリックします。
[同期頻度] で、Vertex AI Search コネクタが BigQuery データセットと同期する頻度を選択します。フリークエンシーは後で変更できます。
[BigQuery データセットのパス] フィールドで [参照] をクリックし、取り込み用に準備したテーブルを含むデータセットを選択します。または、[BigQuery パス] フィールドにテーブルの場所を直接入力します。パスの形式は
projectname.datasetname
です。[同期するテーブル] フィールドで [参照] をクリックし、データストアに必要なデータを含むテーブルを選択します。
データストアに使用するテーブルがデータセットに他にもある場合は、[テーブルを追加] をクリックして、それらのテーブルも指定します。
[続行] をクリックします。
データストアのリージョンを選択し、データ コネクタの名前を入力して、[作成] をクリックします。
これで、BigQuery データセットとデータを定期的に同期するデータコネクタが作成されました。また、1 つ以上のエンティティ データストアを作成しています。データストアの名前は BigQuery テーブルと同じです。
取り込みのステータスを確認するには、[データストア] ページに移動し、データ コネクタ名をクリックして、[データ] ページ > [データ取り込みアクティビティ] タブで詳細を確認します。[アクティビティ] タブのステータス列が [進行中] から [成功] に変わると、最初の取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
データソースを設定してデータを初めてインポートすると、データストアは設定時に選択した頻度でそのソースからデータを同期します。データコネクタの作成から約 1 時間後に、最初の同期が行われます。次回の同期は、24 時間、72 時間、または 120 時間後に行われます。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Cloud Storage からインポートする
Cloud Storage テーブルからデータストアを作成するには、次の 2 つの方法があります。
1 回限りのデータ取り込み: Cloud Storage のフォルダまたはファイルからデータストアにデータをインポートします。データストア内のデータは、手動でデータを更新しない限り変更されません。
定期的な取り込み: Cloud Storage フォルダまたはファイルからデータをインポートし、その Cloud Storage ロケーションの最新データでデータストアが更新される頻度を決定する同期頻度を設定します。
次の表は、Cloud Storage データを Vertex AI Search データストアにインポートする 2 つの方法を比較したものです。
1 回限りの取り込み | 定期的な取り込み |
---|---|
一般提供(GA)。 | 公開プレビュー版。 |
データは手動で更新する必要があります。 | データは 1 日、3 日、5 日ごとに自動的に更新されます。データを手動で更新することはできません。 |
Vertex AI Search は、Cloud Storage 内の 1 つのフォルダまたはファイルから単一のデータストアを作成します。 | Vertex AI Search はデータコネクタを作成し、指定されたファイルまたはフォルダにデータストア(エンティティ データストア)を関連付けます。各 Cloud Storage データコネクタには、単一のエンティティ データストアを設定できます。 |
複数のファイル、フォルダ、バケットのデータを 1 つのデータストアに結合するには、まず 1 つの Cloud Storage ロケーションからデータを取り込み、次に別のロケーションからデータを取り込みます。 | 手動データ インポートはサポートされていないため、エンティティ データストアのデータは 1 つの Cloud Storage ファイルまたはフォルダからのみ取得できます。 |
データソースのアクセス制御がサポートされています。詳細については、データソースのアクセス制御をご覧ください。 | データソースのアクセス制御はサポートされていません。インポートされたデータにアクセス制御を含めることはできますが、これらの制御は考慮されません。 |
データストアは、Google Cloud コンソールまたは API を使用して作成できます。 | データ コネクタとそのエンティティ データストアは、コンソールを使用して作成する必要があります。 |
CMEK-対応. | CMEK に準拠していません。 |
Cloud Storage から 1 回インポートする
Cloud Storage からデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
データをインポートする前に、取り込むデータを準備します。
Console
コンソールを使用して Cloud Storage バケットからデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Cloud Storage] を選択します。
[インポートするフォルダまたはファイルを選択] セクションで、[フォルダ] または [ファイル] を選択します。
[参照] をクリックして、取り込み用に準備したデータを選択し、[選択] をクリックします。 または、[
gs://
] フィールドにロケーションを直接入力します。インポートするデータの種類を選択します。
[続行] をクリックします。
構造化データを 1 回限りインポートする場合:
フィールドをキー プロパティにマッピングします。
スキーマに重要なフィールドが欠落している場合は、[新しいフィールドを追加] を使用して追加します。
詳細については、自動検出と編集についてをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
省略可: 非構造化ドキュメントを選択した場合は、ドキュメントの解析オプションとチャンク処理オプションを選択できます。パーサーを比較するには、ドキュメントを解析するをご覧ください。チャンク処理の詳細については、RAG 用にドキュメントをチャンクするをご覧ください。
OCR パーサーとレイアウト パーサーを使用すると、追加費用が発生する場合があります。Document AI 機能の料金をご覧ください。
パーサーを選択するには、[ドキュメント処理オプション] を開き、使用するパーサー オプションを指定します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Cloud Storage からデータを取り込む手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "contentConfig": "CONTENT_REQUIRED", }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
省略可: ドキュメント解析を構成する場合や、RAG のドキュメント チャンキングを有効にする場合は、
documentProcessingConfig
オブジェクトを指定して、データストアの作成リクエストに含めます。スキャンされた PDF を取り込む場合は、PDF 用の OCR パーサーを構成することをおすすめします。解析オプションまたはチャンク処理オプションの構成方法については、ドキュメントの解析とチャンク処理をご覧ください。Cloud Storage からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "gcsSource": { "inputUris": ["INPUT_FILE_PATTERN_1", "INPUT_FILE_PATTERN_2"], "dataSchema": "DATA_SCHEMA", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: Vertex AI Search データストアの ID。INPUT_FILE_PATTERN
: ドキュメントを含む Cloud Storage 内のファイル パターン。構造化データまたはメタデータを含む非構造化データの場合、入力ファイル パターンの例は
gs://<your-gcs-bucket>/directory/object.json
で、1 つ以上のファイルにパターン マッチングする例はgs://<your-gcs-bucket>/directory/*.json
です。非構造化ドキュメントの例は
gs://<your-gcs-bucket>/directory/*.pdf
です。パターンに一致する各ファイルがドキュメントになります。<your-gcs-bucket>
が PROJECT_ID にない場合は、サービス アカウントservice-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
に Cloud Storage バケットに対する「ストレージ オブジェクト閲覧者」権限を付与する必要があります。たとえば、転送元プロジェクト「123」から転送先プロジェクト「456」に Cloud Storage バケットをインポートする場合は、プロジェクト「123」の Cloud Storage バケットに対するservice-456@gcp-sa-discoveryengine.iam.gserviceaccount.com
権限を付与します。DATA_SCHEMA
: 省略可。値はdocument
、custom
、csv
およびcontent
です。デフォルトはdocument
です。document
: 非構造化ドキュメントのメタデータを含む非構造化データをアップロードします。ファイルの各行は、次のいずれかの形式にする必要があります。各ドキュメントの ID を定義できます。{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
{ "id": "<your-id>", "structData": <JSON object>, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
custom
: 構造化ドキュメントの JSON をアップロードします。データはスキーマに従って編成されます。スキーマを指定することもできます。指定しない場合、スキーマは自動的に検出されます。ドキュメントの JSON 文字列を一貫した形式で各行に直接配置できます。Vertex AI Search は、インポートされた各ドキュメントの ID を自動的に生成します。content
: 非構造化ドキュメント(PDF、HTML、DOC、TXT、PPTX)をアップロードします。各ドキュメントの ID は、SHA256(GCS_URI) の最初の 128 ビットが 16 進数文字列としてエンコードされたものとして自動的に生成されます。一致するファイルが 10 万ファイルの制限を超えない限り、複数の入力ファイル パターンを指定できます。csv
: CSV ファイルにヘッダー行を含め、各ヘッダーをドキュメント フィールドにマッピングします。inputUris
フィールドを使用して、CSV ファイルのパスを指定します。
ERROR_DIRECTORY
: 省略可。インポートに関するエラー情報用の Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。Vertex AI Search が一時ディレクトリを自動的に作成できるように、このフィールドを空のままにすることをおすすめします。RECONCILIATION_MODE
: 省略可。値はFULL
およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Cloud Storage からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Cloud Storage にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで整合性が維持されない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。autoGenerateIds
は、gcsSource.dataSchema
がcustom
またはcsv
に設定されている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。autoGenerateIds
を指定しない場合、またはfalse
に設定しない場合は、idField
を指定する必要があります。そうしないと、ドキュメントのインポートに失敗します。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。Cloud Storage ソースドキュメントの場合、idField
は、ドキュメント ID である JSON フィールドの名前を指定します。たとえば、{"my_id":"some_uuid"}
がドキュメントの 1 つのドキュメント ID フィールドの場合は、"idField":"my_id"
を指定します。これにより、"my_id"
という名前のすべての JSON フィールドがドキュメント ID として識別されます。このフィールドは、(1)
gcsSource.dataSchema
がcustom
またはcsv
に設定されていること、(2)auto_generate_ids
がfalse
に設定されているか未指定であることの両方の場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。Cloud Storage JSON フィールドの値は、文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
id_field
で指定された JSON フィールド名は、文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
C#
詳細については、Vertex AI Agent Builder C# API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Go
詳細については、Vertex AI Agent Builder Go API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Java
詳細については、Vertex AI Agent Builder Java API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Node.js
詳細については、Vertex AI Agent Builder Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
Ruby
詳細については、Vertex AI Agent Builder Ruby API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
定期的な同期で Cloud Storage に接続する
データをインポートする前に、取り込むデータを準備します。
次の手順では、Cloud Storage のロケーションを Vertex AI Search データコネクタに関連付けるデータコネクタを作成する方法と、作成するデータストアのロケーションにあるフォルダまたはファイルを指定する方法について説明します。データ コネクタの子データストアは、エンティティ データストアと呼ばれます。
データは、エンティティ データストアに定期的に同期されます。同期は、毎日、3 日ごと、5 日ごとに指定できます。
Console
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[データストアを作成] をクリックします。
[ソース] ページで、[Cloud Storage] を選択します。
インポートするデータの種類を選択します。
[定期] をクリックします。
同期頻度(Vertex AI Search コネクタが Cloud Storage ロケーションと同期する頻度)を選択します。フリークエンシーは後で変更できます。
[インポートするフォルダまたはファイルを選択] セクションで、[フォルダ] または [ファイル] を選択します。
[参照] をクリックして、取り込み用に準備したデータを選択し、[選択] をクリックします。 または、[
gs://
] フィールドにロケーションを直接入力します。[続行] をクリックします。
データ コネクタのリージョンを選択します。
データ コネクタの名前を入力します。
省略可: 非構造化ドキュメントを選択した場合は、ドキュメントの解析オプションとチャンク処理オプションを選択できます。パーサーを比較するには、ドキュメントを解析するをご覧ください。チャンク処理の詳細については、RAG 用にドキュメントをチャンクするをご覧ください。
OCR パーサーとレイアウト パーサーを使用すると、追加費用が発生する場合があります。Document AI 機能の料金をご覧ください。
パーサーを選択するには、[ドキュメント処理オプション] を開き、使用するパーサー オプションを指定します。
[作成] をクリックします。
これで、データ コネクタが作成されました。このコネクタは、Cloud Storage のロケーションとデータを定期的に同期します。また、
gcs_store
という名前のエンティティ データストアも作成しました。取り込みのステータスを確認するには、[データストア] ページに移動し、データ コネクタ名をクリックして、[データ] ページで詳細を表示します。
[データ取り込みアクティビティ] タブ。[データ取り込みアクティビティ] タブのステータス列が [進行中] から [成功] に変わると、最初の取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
データソースを設定して初めてデータをインポートすると、設定時に選択した頻度でそのソースからデータが同期されます。データコネクタの作成から約 1 時間後に、最初の同期が行われます。次回の同期は、24 時間、72 時間、または 120 時間後に行われます。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Google ドライブに接続
Google ドライブからデータを検索するには、次の手順で Google Cloud コンソールを使用してコネクタを作成します。
始める前に:
接続する Google ドライブ インスタンスに使用しているアカウントと同じアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace のお客様 ID を使用して Google ドライブに接続します。
Google ドライブのアクセス制御を設定します。アクセス制御の設定については、データソースのアクセス制御を使用するをご覧ください。
Google ドライブの高度な検索は非公開プレビュー版です。この機能は、Google ドライブ データストアで検索の要約とフォローアップ付き検索を使用する前提条件です。この機能を使用するには、代わりにドライブの高度なインデックス処理を使用するの手順に沿って操作してください。
Console
コンソールを使用して Google ドライブのデータを検索可能にするには、次の操作を行います。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで [Google ドライブ] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。。[作成] をクリックします。
ドライブの高度なインデックス登録を使用する(限定公開プレビュー)
ドライブの高度なインデックス登録は限定公開プレビュー版です。
検索の要約とフォローアップ検索で Google ドライブを使用する場合は、次の手順を行います。
始める前に:
- ドライブの高度なインデックス作成を有効にするには、Google Workspace の特権管理者である必要があります。これは、高度なドライブ インデックス登録では、Vertex AI Search が Google ドライブ データをインデックスに登録するためです。
- この機能を使用するには、許可リストに追加されている必要があります。
Console
コンソールを使用して、高度な Google ドライブ インデックスを含む Google ドライブ データストアを作成する手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで [Google ドライブ] を選択します。
[ドライブの高度なインデックス登録] を選択します。
Google Workspace のメールアドレスを入力します。
[ドメイン全体の委任を設定する] セクションで手順を確認し、そのセクションのステップ 4 で指定されているサービス アカウント クライアント ID をメモします。
ドメイン全体の委任を設定する:
- Google Workspace 管理コンソールの [ドメイン全体の委任] ページに移動し、特権管理者アカウントでログインします。
- [新しく追加] をクリックします。
- メモしたサービス アカウントのクライアント ID を入力します。(この ID は、エージェント ビルダー コンソールの [ドメイン全体の委任を設定する] セクションの手順で確認できます)。
次の OAuth スコープを入力します。
https://www.googleapis.com/auth/drive.readonly, https://www.googleapis.com/auth/admin.directory.user.readonly, https://www.googleapis.com/auth/admin.directory.group.readonly, https://www.googleapis.com/auth/admin.directory.domain.readonly, https://www.googleapis.com/auth/admin.reports.audit.readonly
[承認] をクリックします。
Agent Builder コンソールで、[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。取り込みには、データのサイズに応じて、数分から数時間かかることがあります。データストアを使用して検索する前に、少なくとも 1 時間待機してください。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Gmail に接続する
Gmail からデータを検索するには、次の手順でデータストアを作成し、Google Cloud コンソールを使用してデータを取り込みます。
始める前に:
接続する Google Workspace インスタンスに使用するアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace のお客様 ID を使用して Gmail に接続します。
Gmail のアクセス制御を設定します。アクセス制御の設定については、データソースのアクセス制御を使用するをご覧ください。
Console
コンソールを使用して Gmail データを検索可能にするには、次の操作を行います。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Google Gmail] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Google サイトに接続する
Google Sites からデータを検索するには、次の手順で Google Cloud コンソールを使用してコネクタを作成します。
始める前に:
接続する Google Workspace インスタンスに使用するアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace のお客様 ID を使用して Google Sites に接続します。
Google サイトのアクセス制御を設定します。アクセス制御の設定については、データソースのアクセス制御を使用するをご覧ください。
Console
コンソールを使用して Google サイトのデータを検索可能にするには、次の操作を行います。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Google サイト] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Google カレンダーに接続する
Google カレンダーからデータを検索するには、次の手順で Google Cloud コンソールを使用してコネクタを作成します。
始める前に:
接続する Google Workspace インスタンスに使用するアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace のお客様 ID を使用して Google カレンダーに接続します。
Google カレンダーのアクセス制御を設定します。アクセス制御の設定については、データソースのアクセス制御を使用するをご覧ください。
Console
コンソールを使用して Google カレンダーのデータを検索可能にするには、次の操作を行います。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Google カレンダー] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Google グループに接続する
Google グループからデータを検索するには、次の手順で Google Cloud コンソールを使用してコネクタを作成します。
始める前に:
接続する Google Workspace インスタンスに使用するアカウントで Google Cloud コンソールにログインする必要があります。Vertex AI Search は、Google Workspace お客様 ID を使用して Google グループに接続します。
Google グループのアクセス制御を設定します。アクセス制御の設定については、データソースのアクセス制御を使用するをご覧ください。
Console
コンソールを使用して Google グループのデータを検索可能にするには、次の操作を行います。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで [Google グループ] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。取り込みには、データのサイズに応じて、数分から数時間かかることがあります。データストアを使用して検索する前に、少なくとも 1 時間待機してください。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Google Workspace からユーザーデータを同期する
Google Workspace からユーザーデータを同期することで、チームのユーザー検索を設定できます。このデータは、データストアの作成後に Vertex AI Search と継続的に同期されます。
ディレクトリ内のユーザーは、名前、メールアドレス、組織、プロフィール写真など、利用可能なプロフィール情報がそれぞれ表示されるカードとして検索結果に表示されます。カードをクリックすると、そのユーザーの詳細ページが表示されます。
前提条件
ユーザーがアプリにログインする際に使用する ID プロバイダを決定します。サードパーティの ID プロバイダを使用している場合は、管理者が ID プロバイダを Google Workspace と連携させる必要があります。連携の計画と設定には、かなりの時間がかかる場合があります。詳細については、データソースのアクセス制御を使用するをご覧ください。
Google Workspace 管理者は、Google Workspace データでのユーザー検索を有効にする必要があります。手順は次のとおりです。
- 管理者アカウントで Google 管理コンソールにログインします。
- 管理コンソールで、[ディレクトリ] > [ディレクトリ設定] に移動します。
- [連絡先の共有] をオンにします。
Google Workspace を接続する予定のアカウントで Google Cloud コンソールにログインします。
ID プロバイダを接続するの手順に沿って ID プロバイダに接続し、プロバイダとして Google Identity を指定します。
Google Workspace ディレクトリの詳細については、Google Workspace のドキュメントの概要: ディレクトリの設定と管理をご覧ください。
人物検索データストアを作成する
Console
コンソールを使用してユーザーデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[データストアを作成] をクリックします。
[ソース] ページで、[ユーザー検索] を選択します。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。データのサイズによっては、同期に数分から数時間かかることがあります。
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Cloud SQL からインポート
Cloud SQL からデータを取り込むには、次の手順で Cloud SQL アクセスを設定し、データストアを作成してデータを取り込みます。
Cloud SQL インスタンスのステージング バケット アクセスを設定する
Cloud SQL からデータを取り込む場合、データはまず Cloud Storage バケットにステージングされます。Cloud SQL インスタンスに Cloud Storage バケットへのアクセス権を付与する手順は次のとおりです。
Google Cloud コンソールの [SQL] ページに移動します。
インポート元の Cloud SQL インスタンスをクリックします。
インスタンスのサービス アカウントの ID(メールアドレスのような ID)をコピーします(例:
p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com
)。[IAM と管理] ページに移動
[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、インスタンスのサービス アカウント ID を入力し、[Cloud Storage] > [ストレージ管理者] ロールを選択します。
[保存] をクリックします。
次は:
Cloud SQL データが Vertex AI Search と同じプロジェクトにある場合: Cloud SQL からデータをインポートするに進みます。
Cloud SQL データが Vertex AI Search プロジェクトとは異なるプロジェクトにある場合: 別のプロジェクトから Cloud SQL へのアクセスを設定するに進みます。
別のプロジェクトから Cloud SQL へのアクセスを設定する
Vertex AI Search に別のプロジェクトの Cloud SQL データへのアクセス権を付与する手順は次のとおりです。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えて、コードブロックの内容をコピーします。これは Vertex AI Search サービス アカウント ID です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
[IAM と管理] ページに移動
[IAM と管理] ページで Cloud SQL プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、サービス アカウントの ID を入力し、[Cloud SQL] > [Cloud SQL 閲覧者] ロールを選択します。
[保存] をクリックします。
次に、Cloud SQL からデータをインポートするに進みます。
Cloud SQL からデータをインポートする
Console
コンソールを使用して Cloud SQL からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Cloud SQL] を選択します。
インポートするデータのプロジェクト ID、インスタンス ID、データベース ID、テーブル ID を指定します。
[参照] をクリックして、データをエクスポートする中間 Cloud Storage のロケーションを選択し、[選択] をクリックします。または、[
gs://
] フィールドにロケーションを直接入力します。サーバーレス エクスポートを有効にするかどうかを選択します。サーバーレス エクスポートには追加料金がかかります。サーバーレス エクスポートの詳細については、Cloud SQL ドキュメントのエクスポートによるパフォーマンスへの影響を最小限に抑えるをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Cloud SQL からデータを取り込む手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
以下を置き換えます。
PROJECT_ID
: プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示される場合があります。
Cloud SQL からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "cloudSqlSource": { "projectId": "SQL_PROJECT_ID", "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", "gcsStagingDir": "STAGING_DIRECTORY" }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
以下を置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。SQL_PROJECT_ID
: Cloud SQL プロジェクトの ID。INSTANCE_ID
: Cloud SQL インスタンスの ID。DATABASE_ID
: Cloud SQL データベースの ID。TABLE_ID
: Cloud SQL テーブルの ID。STAGING_DIRECTORY
: 省略可。Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Cloud SQL からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Cloud SQL にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Spanner からインポートする
Spanner からデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
別のプロジェクトから Spanner へのアクセスを設定する
Spanner データが Vertex AI Search と同じプロジェクトにある場合は、Spanner からデータをインポートするに進みます。
Vertex AI Search に別のプロジェクトの Spanner データへのアクセス権を付与する手順は次のとおりです。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えて、このコードブロックの内容をコピーします。これは Vertex AI Search サービス アカウント ID です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
[IAM と管理] ページに移動
[IAM と管理] ページで Spanner プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、サービス アカウントの ID を入力し、次のいずれかを選択します。
- インポート中にデータブーストを使用しない場合は、[Cloud Spanner > Cloud Spanner データベース読み取り] ロールを選択します。
- インポート中にデータブーストを使用する場合は、[Cloud Spanner] > [Cloud Spanner データベース管理者] ロール、または [Cloud Spanner データベース読み取り] と spanner.databases.useDataBoost の権限を持つカスタムロールを選択します。Data Boost の詳細については、Spanner ドキュメントの Data Boost の概要をご覧ください。
[保存] をクリックします。
次に、Spanner からデータをインポートするに進みます。
Spanner からデータをインポートする
Console
コンソールを使用して Spanner からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで、[Cloud Spanner] を選択します。
インポートするデータのプロジェクト ID、インスタンス ID、データベース ID、テーブル ID を指定します。
Data Boost を有効にするかどうかを選択します。Data Boost の詳細については、Spanner ドキュメントの Data Boost の概要をご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Spanner からデータを取り込む手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], "contentConfig": "CONTENT_REQUIRED", }'
以下を置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示される場合があります。
Spanner からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "cloudSpannerSource": { "projectId": "SPANNER_PROJECT_ID", "instanceId": "INSTANCE_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", "enableDataBoost": "DATA_BOOST_BOOLEAN" }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
以下を置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。SPANNER_PROJECT_ID
: Spanner プロジェクトの ID。INSTANCE_ID
: Spanner インスタンスの ID。DATABASE_ID
: Spanner データベースの ID。TABLE_ID
: Spanner テーブルの ID。DATA_BOOST_BOOLEAN
: 省略可。Data Boost をオンにするかどうか。Data Boost の詳細については、Spanner ドキュメントの Data Boost の概要をご覧ください。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Spanner からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Spanner にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで整合性が維持されない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Firestore からインポートする
Firestore からデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
Firestore データが Vertex AI Search と同じプロジェクトにある場合は、Firestore からデータをインポートするに進みます。
Firestore データが Vertex AI Search プロジェクトとは異なるプロジェクトにある場合は、Firestore へのアクセスを設定するに進みます。
別のプロジェクトから Firestore へのアクセスを設定する
Vertex AI Search に別のプロジェクトの Firestore データへのアクセス権を付与する手順は次のとおりです。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えて、このコードブロックの内容をコピーします。これは Vertex AI Search サービス アカウント ID です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
[IAM と管理] ページに移動
[IAM と管理] ページで Firestore プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、インスタンスのサービス アカウント ID を入力し、[Datastore] > [Cloud Datastore インポート / エクスポート管理者] ロールを選択します。
[保存] をクリックします。
Vertex AI Search プロジェクトに戻ります。
次に、Firestore からデータをインポートするに移動します。
Firestore からデータをインポートする
Console
コンソールを使用して Firestore からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[ソース] ページで [Firestore] を選択します。
インポートするデータのプロジェクト ID、データベース ID、コレクション ID を指定します。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、Firestore からデータを取り込む手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
以下を置き換えます。
PROJECT_ID
: プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示される場合があります。
Firestore からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "firestoreSource": { "projectId": "FIRESTORE_PROJECT_ID", "databaseId": "DATABASE_ID", "collectionId": "COLLECTION_ID", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
以下を置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。FIRESTORE_PROJECT_ID
: Firestore プロジェクトの ID。DATABASE_ID
: Firestore データベースの ID。COLLECTION_ID
: Firestore コレクションの ID。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Firestore からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Firestore にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで整合性が維持されない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
Bigtable からインポートする
Bigtable からデータを取り込むには、次の手順でデータストアを作成し、API を使用してデータを取り込みます。
Bigtable アクセスを設定する
Vertex AI Search に別のプロジェクトにある Bigtable データへのアクセス権を付与する手順は次のとおりです。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えてから、このコードブロックの内容をコピーします。これは Vertex AI Search サービス アカウント ID です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com`
[IAM と管理] ページに移動
[IAM と管理] ページで Bigtable プロジェクトに切り替え、[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、インスタンスのサービス アカウント ID を入力し、[Bigtable] > [Bigtable 読み取りユーザー] ロールを選択します。
[保存] をクリックします。
Vertex AI Search プロジェクトに戻ります。
次に、Bigtable からデータをインポートするに進みます。
Bigtable からデータをインポートする
REST
コマンドラインを使用してデータストアを作成し、Bigtable からデータを取り込む手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
以下を置き換えます。
PROJECT_ID
: プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示される場合があります。
Bigtable からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "bigtableSource ": { "projectId": "BIGTABLE_PROJECT_ID", "instanceId": "INSTANCE_ID", "tableId": "TABLE_ID", "bigtableOptions": { "keyFieldName": "KEY_FIELD_NAME", "families": { "key": "KEY", "value": { "fieldName": "FIELD_NAME", "encoding": "ENCODING", "type": "TYPE", "columns": [ { "qualifier": "QUALIFIER", "fieldName": "FIELD_NAME", "encoding": "COLUMN_ENCODING", "type": "COLUMN_VALUES_TYPE" } ] } } ... } }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
以下を置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは小文字、数字、アンダースコア、ハイフンのみです。BIGTABLE_PROJECT_ID
: Bigtable プロジェクトの ID。INSTANCE_ID
: Bigtable インスタンスの ID。TABLE_ID
: Bigtable テーブルの ID。KEY_FIELD_NAME
: これは省略可能ですが、指定することをおすすめします。Vertex AI Search への取り込み後に行キー値に使用するフィールド名。KEY
: 必須。列ファミリー キーの文字列値。ENCODING
: 省略可。型が STRING でない場合に値のエンコード モード。これは、columns
に列を指定してエンコードを指定することによって、特定の列に対してオーバーライドできます。COLUMN_TYPE
: 省略可。この列ファミリーの値の型。QUALIFIER
: 必須。列の修飾子。FIELD_NAME
: これは省略可能ですが、指定することをおすすめします。Vertex AI Search への取り込み後にこの列に使用するフィールド名。COLUMN_ENCODING
: 省略可。型が STRING ではない特定の列の値のエンコード モード。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、Bigtable からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、Bigtable にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで整合性が維持されない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。autoGenerateIds
は、bigquerySource.dataSchema
がcustom
に設定されている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。autoGenerateIds
を指定しない場合、またはfalse
に設定しない場合は、idField
を指定する必要があります。そうしないと、ドキュメントのインポートに失敗します。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
AlloyDB for PostgreSQL からのインポート
AlloyDB for PostgreSQL からデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
AlloyDB for PostgreSQL データが Vertex AI Search プロジェクトと同じプロジェクトにある場合は、AlloyDB for PostgreSQL からデータをインポートするに進みます。
AlloyDB for PostgreSQL データが Vertex AI Search プロジェクトとは異なるプロジェクトにある場合は、AlloyDB for PostgreSQL へのアクセスを設定するに進みます。
別のプロジェクトから AlloyDB for PostgreSQL へのアクセスを設定する
Vertex AI Search に別のプロジェクトの AlloyDB for PostgreSQL データへのアクセス権を付与する手順は次のとおりです。
次の
PROJECT_NUMBER
変数を Vertex AI Search プロジェクト番号に置き換えて、このコードブロックの内容をコピーします。これは Vertex AI Search サービス アカウント ID です。service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
AlloyDB for PostgreSQL データが存在する Google Cloud プロジェクトに切り替えます。
IAM ページに移動します。
[アクセス権を付与] をクリックします。
[新しいプリンシパル] で、Vertex AI Search サービス アカウント ID を入力し、[Cloud AlloyDB] > [Cloud AlloyDB 管理者] ロールを選択します。
[保存] をクリックします。
Vertex AI Search プロジェクトに戻ります。
次に、AlloyDB for PostgreSQL からデータをインポートするに進みます。
AlloyDB for PostgreSQL からデータをインポートする
Console
コンソールを使用して AlloyDB for PostgreSQL からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[データストアを作成] をクリックします。
[ソース] ページで [AlloyDB] を選択します。
インポートするデータのプロジェクト ID、ロケーション ID、クラスタ ID、データベース ID、テーブル ID を指定します。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。[アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
REST
コマンドラインを使用してデータストアを作成し、AlloyDB for PostgreSQL からデータを取り込む手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"], }'
以下を置き換えます。
PROJECT_ID
: プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DISPLAY_NAME
: データストアの表示名。これは Google Cloud コンソールに表示される場合があります。
AlloyDB for PostgreSQL からデータをインポートします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents:import" \ -d '{ "alloydbSource": { "projectId": "ALLOYDB_PROJECT_ID", "locationId": "LOCATION_ID", "clusterId": "CLUSTER_ID", "databaseId": "DATABASE_ID", "tableId": "TABLE_ID", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", }'
以下を置き換えます。
PROJECT_ID
: Vertex AI Search プロジェクトの ID。DATA_STORE_ID
: データストアの ID。ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。ALLOYDB_PROJECT_ID
: AlloyDB for PostgreSQL プロジェクトの ID。LOCATION_ID
: AlloyDB for PostgreSQL のロケーションの ID。CLUSTER_ID
: AlloyDB for PostgreSQL クラスタの ID。DATABASE_ID
: AlloyDB for PostgreSQL データベースの ID。TABLE_ID
: AlloyDB for PostgreSQL テーブルの ID。RECONCILIATION_MODE
: 省略可。値はFULL
、およびINCREMENTAL
です。デフォルトはINCREMENTAL
です。INCREMENTAL
を指定すると、AlloyDB for PostgreSQL からデータストアへのデータの増分更新が行われます。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
を指定すると、データストア内のドキュメントが完全に再ベース化されます。つまり、新しいドキュメントと更新されたドキュメントがデータストアに追加され、AlloyDB for PostgreSQL にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。AUTO_GENERATE_IDS
: 省略可。ドキュメント ID を自動生成するかどうかを指定します。true
に設定すると、ドキュメント ID はペイロードのハッシュに基づいて生成されます。生成されたドキュメント ID は、複数のインポートで整合性が維持されない場合があります。複数のインポートで ID を自動生成する場合は、ドキュメント ID の整合性を維持するために、reconciliationMode
をFULL
に設定することを強くおすすめします。ID_FIELD
: 省略可。ドキュメント ID のフィールドを指定します。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
データストアを作成
ドキュメントのインポート
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
API を使用して構造化 JSON データをアップロードする
API を使用して JSON ドキュメントまたはオブジェクトを直接アップロードする手順は次のとおりです。
データをインポートする前に、取り込むデータを準備します。
REST
コマンドラインを使用してデータストアを作成し、構造化 JSON データをインポートする手順は次のとおりです。
データストアの作成
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "X-Goog-User-Project: PROJECT_ID" \ "https://discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores?dataStoreId=DATA_STORE_ID" \ -d '{ "displayName": "DATA_STORE_DISPLAY_NAME", "industryVertical": "GENERIC", "solutionTypes": ["SOLUTION_TYPE_SEARCH"] }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成する Vertex AI Search データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成する Vertex AI Search データストアの表示名。
構造化データをインポートします。
データのアップロードには、次のような方法があります。
JSON ドキュメントをアップロードします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents?documentId=DOCUMENT_ID" \ -d '{ "jsonData": "JSON_DOCUMENT_STRING" }'
以下を置き換えます。
DOCUMENT_ID
: ドキュメントの一意の ID。この ID は 63 文字以下で、小文字、数字、アンダースコア、ハイフンのみを使用できます。JSON_DOCUMENT_STRING
: JSON ドキュメントを 1 つの文字列として指定します。これは、前の手順で指定した JSON スキーマに準拠している必要があります。次に例を示します。{ \"title\": \"test title\", \"categories\": [\"cat_1\", \"cat_2\"], \"uri\": \"test uri\"}
JSON オブジェクトをアップロードします。
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents?documentId=DOCUMENT_ID" \ -d '{ "structData": JSON_DOCUMENT_OBJECT }'
JSON_DOCUMENT_OBJECT
は、JSON オブジェクトとして JSON ドキュメントを置き換えます。これは、前の手順で指定した JSON スキーマに準拠している必要があります。次に例を示します。```json { "title": "test title", "categories": [ "cat_1", "cat_2" ], "uri": "test uri" } ```
JSON ドキュメントで更新します。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID" \ -d '{ "jsonData": "JSON_DOCUMENT_STRING" }'
JSON オブジェクトで更新します。
curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://discoveryengine.googleapis.com/v1beta/projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATA_STORE_ID/branches/0/documents/DOCUMENT_ID" \ -d '{ "structData": JSON_DOCUMENT_OBJECT }'
次のステップ
データストアをアプリにアタッチするには、検索アプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後に検索結果が表示される様子をプレビューするには、検索結果を取得するをご覧ください。
データの取り込みに関するトラブルシューティング
データの取り込みで問題が発生した場合は、次のヒントをご確認ください。
顧客管理の暗号鍵を使用していて、データのインポートが失敗する場合(エラー メッセージ
The caller does not have permission
が表示される場合)は、鍵の CryptoKey 暗号化/復号 IAM ロール(roles/cloudkms.cryptoKeyEncrypterDecrypter
)が Cloud Storage サービス エージェントに付与されていることを確認します。詳細については、顧客管理の暗号鍵の始める前にをご覧ください。高度なウェブサイト インデックス登録を使用していて、データストアのドキュメント使用量が想定よりもはるかに少ない場合は、インデックス登録に指定した URL パターンを確認し、指定した URL パターンがインデックス登録するページをカバーしていることを確認します。必要に応じて、URL パターンを拡張します。たとえば、
*.en.example.com/*
を使用した場合は、インデックス登録するサイトに*.example.com/*
を追加する必要があります。
Terraform を使用してデータストアを作成する
Terraform を使用して空のデータストアを作成できます。空のデータストアを作成したら、Google Cloud コンソールまたは API コマンドを使用してデータストアにデータを取り込むことができます。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Terraform を使用して空のデータストアを作成するには、
google_discovery_engine_data_store
をご覧ください。