このページでは、構造化データと非構造化データの更新について説明します。
ウェブサイト アプリを更新するには、ウェブページを更新するをご覧ください。
構造化データを更新する
データストア内のスキーマと同じスキーマまたは下位互換性のあるスキーマを使用する限り、構造化データストア内のデータを更新できます。たとえば、既存のスキーマに新しいフィールドのみを追加すると、下位互換性が維持されます。
構造化データを更新するには、Google Cloud コンソールまたは API を使用します。
Console
Google Cloud コンソールを使用してデータストアのブランチから構造化データを更新する手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[名前] 列で、編集するデータストアをクリックします。
[ドキュメント] タブで、[
データをインポート] をクリックします。Cloud Storage から更新するには:
- [データソースを選択] ペインで、[Cloud Storage] を選択します。
- [Cloud Storage からデータをインポート] ペインで、[参照] をクリックし、更新されたデータを含むバケットを選択して、[選択] をクリックします。または、[gs://] フィールドにバケットの場所を直接入力します。
- [データ インポートのオプション] で、インポート オプションを選択します。
- [インポート] をクリックします。
BigQuery から更新するには:
- [データソースを選択] ペインで、[BigQuery] を選択します。
- [BigQuery からデータをインポート] ペインで、[参照] をクリックし、更新されたデータを含むテーブルを選択して、[選択] をクリックします。または、[BigQuery パス] フィールドにテーブルの場所を直接入力します。
- [データ インポートのオプション] で、インポート オプションを選択します。
- [インポート] をクリックします。
REST
適切な reconciliationMode
値を指定して、documents.import
メソッドを使用してデータを更新します。
コマンドラインを使用して BigQuery または Cloud Storage から構造化データを更新する手順は次のとおりです。
データストア ID を確認します。データストア ID がすでにある場合は、次のステップに進みます。
Google Cloud コンソールで [Agent Builder] ページに移動し、ナビゲーション メニューで [データストア] をクリックします。
データストアの名前をクリックします。
データストアの [データ] ページで、データストア ID を取得します。
BigQuery から構造化データをインポートするには、次のメソッドを呼び出します。BigQuery または Cloud Storage からインポートできます。Cloud Storage からインポートするには、次のステップに進みます。
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:import" \ -d '{ "bigquerySource": { "projectId": "PROJECT_ID", "datasetId":"DATASET_ID", "tableId": "TABLE_ID", "dataSchema": "DATA_SCHEMA_BQ", }, "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 データセットの名前。
- TABLE_ID: BigQuery テーブルの名前。
- DATA_SCHEMA_BQ: BigQuery ソースからのデータの解析時に使用するスキーマを指定するオプション フィールド。次のいずれかの値を取ります。
document
: デフォルト値。使用する BigQuery テーブルは、次のデフォルトの BigQuery スキーマに準拠している必要があります。各ドキュメントの ID を自分で定義し、データ全体をjson_data
文字列でラップできます。custom
: 任意の BigQuery テーブル スキーマが受け入れられ、Vertex AI Agent Builder がインポートされる各ドキュメントの ID を自動的に生成します。
- ERROR_DIRECTORY: インポートに関するエラー情報用の Cloud Storage ディレクトリを指定する省略可能なフィールド(例:
gs://<your-gcs-bucket>/directory/import_errors
)。Vertex AI Agent Builder が一時ディレクトリを自動的に作成できるように、このフィールドを空のままにすることをおすすめします。 - RECONCILIATION_MODE: インポートされたドキュメントを宛先データストアの既存のドキュメントと調整する方法を指定するオプション フィールド。次のいずれかの値を取ります。
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
は、次の両方の条件が満たされている場合にのみ指定します。それ以外の場合は、INVALID_ARGUMENT
エラーが返されます。bigquerySource.dataSchema
はcustom
に設定されていますauto_generate_ids
がfalse
に設定されているか、未指定である。
また、BigQuery 列名の値は文字列型で、1 から 63 文字の範囲で、RFC-1034 に準拠している必要があります。そうしないと、ドキュメントのインポートに失敗します。
デフォルトの BigQuery スキーマは次のとおりです。
dataSchema
をdocument
に設定する場合、BigQuery テーブルはこのスキーマに準拠している必要があります。[ { "name": "id", "mode": "REQUIRED", "type": "STRING", "fields": [] }, { "name": "jsonData", "mode": "NULLABLE", "type": "STRING", "fields": [] } ]
Cloud Storage から構造化データをインポートするには、次のメソッドを呼び出します。 BigQuery または Cloud Storage からインポートできます。BigQuery からインポートするには、前の手順に移動します。
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:import" \ -d '{ "gcsSource": { "inputUris": ["GCS_PATHS"], "dataSchema": "DATA_SCHEMA_GCS", }, "reconciliationMode": "RECONCILIATION_MODE", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
- PROJECT_ID: Google Cloud プロジェクトの ID。
- DATA_STORE_ID: Vertex AI Search データストアの ID。
- GCS_PATHS: インポート元の Cloud Storage ロケーションへの URI のカンマ区切りのリスト。各 URI の長さは 2,000 文字までです。URI は、ストレージ オブジェクトのフルパスと一致することも、1 つ以上のオブジェクトのパターンと一致することもできます。たとえば、
gs://bucket/directory/*.json
は有効なパスです。 - DATA_SCHEMA_GCS: BigQuery ソースからのデータの解析時に使用するスキーマを指定するオプション フィールド。次のいずれかの値を取ります。
document
: デフォルト値。使用する BigQuery テーブルは、次のデフォルトの BigQuery スキーマに準拠している必要があります。各ドキュメントの ID を自分で定義し、データ全体をjson_data
文字列でラップできます。custom
: 任意の BigQuery テーブル スキーマが受け入れられ、Vertex AI Agent Builder がインポートされる各ドキュメントの ID を自動的に生成します。
- ERROR_DIRECTORY: インポートに関するエラー情報用の Cloud Storage ディレクトリを指定する省略可能なフィールド(例:
gs://<your-gcs-bucket>/directory/import_errors
)。Vertex AI Agent Builder が一時ディレクトリを自動的に作成できるように、このフィールドを空のままにすることをおすすめします。 - RECONCILIATION_MODE: インポートされたドキュメントを宛先データストアの既存のドキュメントと調整する方法を指定するオプション フィールド。次のいずれかの値を取ります。
INCREMENTAL
: デフォルト値。BigQuery からデータストアへのデータの増分更新が発生します。これにより、アップサート オペレーションが実行され、新しいドキュメントを追加し、既存のドキュメントを更新された同じ ID のドキュメントで置き換えます。FULL
: データストア内のドキュメントの完全な再ベース化が行われます。したがって、新しいドキュメントと更新されたドキュメントがデータストアに追加され、BigQuery にないドキュメントがデータストアから削除されます。FULL
モードは、不要になったドキュメントを自動的に削除する場合に便利です。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
非構造化データを更新する
非構造化データを更新するには、Google Cloud コンソールまたは API を使用します。
Console
Google Cloud コンソールを使用してデータストアのブランチから非構造化データを更新する手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[名前] 列で、編集するデータストアをクリックします。
[ドキュメント] タブで、[
データをインポート] をクリックします。Cloud Storage バケットから取り込む(メタデータありまたはメタデータなし)には:
- [データソースを選択] ペインで、[Cloud Storage] を選択します。
- [Cloud Storage からデータをインポート] ペインで、[参照] をクリックし、更新されたデータを含むバケットを選択して、[選択] をクリックします。または、[gs://
gs://
] フィールドにバケットの場所を直接入力します。 - [データ インポートのオプション] で、インポート オプションを選択します。
- [インポート] をクリックします。
BigQuery から取り込むには:
- [データソースを選択] ペインで、[BigQuery] を選択します。
- [BigQuery からデータをインポート] ペインで、[参照] をクリックし、更新されたデータを含むテーブルを選択して、[選択] をクリックします。または、[BigQuery パス] フィールドにテーブルのロケーションを直接入力します。
- [データ インポートのオプション] で、インポート オプションを選択します。
- [インポート] をクリックします。
REST
API を使用して非構造化データを更新するには、適切な reconciliationMode
値を指定して documents.import
メソッドを使用してデータを再インポートします。非構造化データのインポートの詳細については、非構造化データをご覧ください。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。