データストアを作成して汎用レコメンデーションのデータを取り込むには、使用するソースのセクションに移動します。
ウェブサイトの URL
Console
Google Cloud コンソールを使用してデータストアを作成し、ウェブサイトからデータをインデックスに登録する手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
ナビゲーション メニューで [データストア] をクリックします。
[新しいデータストア] をクリックします。
[データソースを選択] ページで、[ウェブサイトのコンテンツ] を選択します。
このデータストアでウェブサイトの高度なインデックス登録を有効にするかどうかを選択します。このオプションは後でオフにすることはできません。
ウェブサイトの高度なインデックス登録では、検索の要約、フォローアップ付き検索、抽出回答などの追加機能が提供されます。高度なウェブサイト インデックス登録を使用すると、追加料金がかかります。また、インデックスに登録するウェブサイトのドメインの所有権を確認する必要があります。詳細については、ウェブサイトの高度なインデックス登録と料金をご覧ください。
[含めるサイト] フィールドに、インデックスに登録するウェブサイトの URL を指定します。カンマ区切りを使用せずに、1 行に 1 つの URL を含めます。
省略可: [除外するサイト] フィールドに、アプリから除外するウェブサイトを入力します。
[続行] をクリックします。
データストアの名前を入力します。
データストアのロケーションを選択します。ロケーションを選択するには、ウェブサイトの高度なインデックス登録をオンにする必要があります。
[作成] をクリックします。Vertex AI Agent Builder によってデータストアが作成され、[データストア] ページにデータストアが表示されます。
データストアに関する情報を表示するには、[名前] 列でデータストアの名前をクリックします。データストアのページが表示されます。
[ウェブサイトの高度なインデックス登録] をオンにしている場合は、ドメインの所有権を確認するよう求める警告が表示されます。割り当て不足(指定したウェブサイトのページ数が、プロジェクトの「プロジェクトあたりのドキュメント数」の割り当てを超えている場合)は、割り当てのアップグレードを促す警告がさらに表示されます。次の手順では、ドメインの所有権を確認して割り当てをアップグレードする方法について説明します。
ドメインの所有権を確認する手順は次のとおりです。
- [Google Search Console で確認] をクリックします。[Google Search Console へようこそ] ページが表示されます。
- 画面上の手順に沿って、ドメイン全体を確認する場合と、ドメインの一部である URL プレフィックスを確認する場合に応じて、ドメインまたは URL プレフィックスを確認します。詳しくは、Search Console ヘルプのサイトの所有権を確認するをご覧ください。
- ドメインの所有権確認ワークフローが完了したら、[エージェント ビルダー] ページに戻り、ナビゲーション メニューの [データストア] をクリックします。
- [名前] 列でデータストアの名前をクリックします。データストアのページが表示されます。
- [ステータスを更新] をクリックして、[ステータス] 列の値を更新します。 ウェブサイトの [ステータス] 列には、インデックス登録が進行中であることが示されます。
- すべてのウェブサイトのインデックス登録が開始されるまで、ドメインの所有権の確認が必要なウェブサイトごとにドメインの所有権の確認手順を繰り返します。URL の [ステータス] 列に [インデックス登録済み] と表示されている場合、その URL または URL パターンに対してウェブサイトの高度なインデックス登録機能を使用できます。
割り当てをアップグレードする手順は次のとおりです。
- [割り当てをアップグレード] をクリックします。[Discovery Engine API] ペインが表示され、[割り当て] タブが選択されています。
- Google Cloud ドキュメントの割り当て上限の引き上げをリクエストするの手順に沿って操作します。増やす割り当ては [ドキュメントの数] です。
- 割り当て上限の引き上げリクエストを送信したら、[Agent Builder] ページに戻り、ナビゲーション メニューの [データストア] をクリックします。
- [名前] 列でデータストアの名前をクリックします。[ステータス] 列には、割り当てを超えたウェブサイトのインデックス作成が進行中であることが示されます。URL の [ステータス] 列に [インデックス登録済み] と表示されている場合、その URL または URL パターンに対してウェブサイトの高度なインデックス登録機能を使用できます。
次のステップ
データストアをアプリにアタッチするには、汎用レコメンデーションアプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後にレコメンデーションが表示される様子をプレビューするには、レコメンデーションを取得するをご覧ください。
BigQuery
BigQuery からデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
データをインポートする前に、取り込むデータを準備します。
Console
Google Cloud コンソールを使用して BigQuery からデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[タイプ] ページで、[BigQuery] を選択します。
[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/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_RECOMMENDATION"] }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成するレコメンデーション データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成するレコメンデーション データストアの表示名。
省略可: 独自のスキーマを使用して構造化データをアップロードする場合は、スキーマを指定できます。スキーマを指定すると、通常はより良い結果が得られます。それ以外の場合、スキーマは自動検出されます。詳細については、スキーマを指定する、または自動検出するをご覧ください。
curl -X PATCH \ -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/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: レコメンデーション データストアの ID。JSON_SCHEMA_OBJECT
: JSON スキーマを JSON オブジェクトとして指定します。次に例を示します。{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "uri" } } }
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", }, "reconciliationMode": "RECONCILIATION_MODE", "autoGenerateIds": "AUTO_GENERATE_IDS", "idField": "ID_FIELD", "errorConfig": { "gcsPrefix": "ERROR_DIRECTORY" } }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: レコメンデーション データストアの 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 テーブルが
DATA_SCHEMA
: 省略可。値はdocument
およびcustom
です。デフォルトはdocument
です。document
: 使用する BigQuery テーブルは、取り込み用にデータを準備するで説明されているデフォルトの BigQuery スキーマに準拠している必要があります。各ドキュメントの ID を自分で定義し、すべてのデータを jsonData 文字列にラップできます。custom
: 任意の BigQuery テーブル スキーマが受け入れられ、インポートされた各ドキュメントの ID が Recommendations によって自動的に生成されます。
ERROR_DIRECTORY
: 省略可。インポートに関するエラー情報用の Cloud Storage ディレクトリ(例:gs://<your-gcs-bucket>/directory/import_errors
)。Recommendations に一時ディレクトリを自動的に作成させるには、この項目を空のままにすることをおすすめします。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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Go
詳細については、Vertex AI Agent Builder Go API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Java
詳細については、Vertex AI Agent Builder Java API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Node.js
詳細については、Vertex AI Agent Builder Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Ruby
詳細については、Vertex AI Agent Builder Ruby API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
次のステップ
データストアをアプリにアタッチするには、汎用レコメンデーションアプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後にレコメンデーションが表示される様子をプレビューするには、レコメンデーションを取得するをご覧ください。
Cloud Storage
Cloud Storage からデータを取り込むには、次の手順でデータストアを作成し、Google Cloud コンソールまたは API を使用してデータを取り込みます。
データをインポートする前に、取り込むデータを準備します。
Console
コンソールを使用して Cloud Storage バケットからデータを取り込む手順は次のとおりです。
Google Cloud コンソールで、[Agent Builder] ページに移動します。
[データストア] ページに移動します。
[新しいデータストア] をクリックします。
[タイプ] ページで、[Cloud Storage] を選択します。
[インポートするフォルダまたはファイルを選択] セクションで、[フォルダ] または [ファイル] を選択します。
[参照] をクリックして、取り込み用に準備したデータを選択し、[選択] をクリックします。 または、[
gs://
] フィールドにロケーションを直接入力します。インポートするデータの種類を選択します。
[続行] をクリックします。
構造化データを 1 回だけインポートする場合:
フィールドをキープロパティにマッピングします。
スキーマに重要なフィールドが欠落している場合は、[新しいフィールドを追加] を使用して追加します。
詳細については、自動検出と編集についてをご覧ください。
[続行] をクリックします。
データストアのリージョンを選択します。
データストアの名前を入力します。
[作成] をクリックします。
データストアが作成されたことを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。
取り込みのステータスを確認するには、[データストア] ページに移動し、データストア名をクリックして、[データ] ページで詳細を表示します。 [アクティビティ] タブのステータス列が [進行中] から [インポート完了] に変わると、取り込みが完了します。
取り込みには、データのサイズに応じて、数分から数時間かかることがあります。
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/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_RECOMMENDATION"], "contentConfig": "CONTENT_REQUIRED" }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成するレコメンデーション データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成するレコメンデーション データストアの表示名。
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
: レコメンデーション データストアの 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 文字列を各行に直接一貫した形式で配置できます。インポートされた各ドキュメントの ID は、Recommendations によって自動的に生成されます。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
)。レコメンデーションに一時ディレクトリを自動的に作成させるには、この項目を空のままにすることをおすすめします。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 として識別されます。gcsSource.dataSchema
は、(1)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 に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Go
詳細については、Vertex AI Agent Builder Go API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Java
詳細については、Vertex AI Agent Builder Java API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Node.js
詳細については、Vertex AI Agent Builder Node.js API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Python
詳細については、Vertex AI Agent Builder Python API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
Ruby
詳細については、Vertex AI Agent Builder Ruby API のリファレンス ドキュメントをご覧ください。
Vertex AI Agent Builder に対する認証を行うには、アプリケーションのデフォルト認証情報を設定します。 詳細については、ローカル開発環境の認証の設定をご覧ください。
このサンプルでは、BigQuery または Cloud Storage から非構造化データを既存のデータストアに取り込みます。
次のステップ
データストアをアプリにアタッチするには、汎用レコメンデーションアプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後にレコメンデーションが表示される様子をプレビューするには、レコメンデーションを取得するをご覧ください。
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_RECOMMENDATION"] }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: 作成するレコメンデーション データストアの ID。この ID に使用できるのは、小文字、数字、アンダースコア、ハイフンのみです。DATA_STORE_DISPLAY_NAME
: 作成するレコメンデーション データストアの表示名。
省略可: 独自のスキーマを指定します。スキーマを指定すると、通常はより良い結果が得られます。詳細については、スキーマを指定する、または自動検出するをご覧ください。
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/schemas/default_schema" \ -d '{ "structSchema": JSON_SCHEMA_OBJECT }'
以下を置き換えます。
PROJECT_ID
: Google Cloud プロジェクトの ID。DATA_STORE_ID
: レコメンデーション データストアの ID。JSON_SCHEMA_OBJECT
: JSON スキーマを JSON オブジェクトとして指定します。次に例を示します。{ "$schema": "https://json-schema.org/draft/2020-12/schema", "type": "object", "properties": { "title": { "type": "string", "keyPropertyMapping": "title" }, "categories": { "type": "array", "items": { "type": "string", "keyPropertyMapping": "category" } }, "uri": { "type": "string", "keyPropertyMapping": "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 '{ "jsonData": "JSON_DOCUMENT_STRING" }'
JSON_DOCUMENT_STRING
は、JSON ドキュメントを単一の文字列に置き換えます。これは、前の手順で指定した JSON スキーマに準拠している必要があります。次に例を示します。```none { \"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 }'
次のステップ
データストアをアプリにアタッチするには、汎用レコメンデーションアプリを作成するの手順に沿ってアプリを作成し、データストアを選択します。
アプリとデータストアが設定された後にレコメンデーションが表示される様子をプレビューするには、レコメンデーションを取得するをご覧ください。
Terraform を使用してデータストアを作成する
Terraform を使用して空のデータストアを作成できます。空のデータストアを作成したら、Google Cloud コンソールまたは API コマンドを使用してデータストアにデータを取り込むことができます。
Terraform 構成を適用または削除する方法については、基本的な Terraform コマンドをご覧ください。
Terraform を使用して空のデータストアを作成するには、
google_discovery_engine_data_store
をご覧ください。