如要建立資料儲存庫並擷取搜尋資料,請前往您打算使用的來源部分:
- 使用網站內容建立資料儲存庫
- 從 BigQuery 匯入
- 從 Cloud Storage 匯入
- 從 Google 雲端硬碟同步
- 從 Gmail 同步 (公開測試版)
- 從 Google 協作平台同步 (公開測試版)
- 從 Google 日曆同步 (公開預覽版)
- 從 Google 網路論壇同步 (公開測試版)
- 從 Cloud SQL 匯入
- 從 Spanner 匯入 (公開預先發布版)
- 從 Firestore 匯入
- 從 Bigtable 匯入 (公開測試版)
- 從 PostgreSQL 適用的 AlloyDB 匯入 (公開預先發布版)
- 使用 API 上傳結構化 JSON 資料
- 使用 Terraform 建立資料儲存庫
如要改為從第三方資料來源同步處理資料,請參閱「連線至第三方資料來源」。
如需疑難排解資訊,請參閱「排解資料擷取問題」。
使用網站內容建立資料儲存庫
請按照下列程序建立資料儲存庫並為網站建立索引。
建立網站資料儲存庫後,必須將其附加至已啟用 Enterprise 版功能的應用程式,才能使用。您可以在建立應用程式時啟用 Enterprise 版本。這會產生額外費用。請參閱「建立搜尋應用程式」和「關於進階功能」。
控制台
如要使用 Google Cloud 控制台建立資料儲存庫並為網站建立索引,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下「Create data store」(建立資料儲存庫)。
在「來源」頁面中,選取「網站內容」。
選擇是否要為這個資料儲存庫開啟「進階網站索引」。 這個選項一經選取即無法再變更。
進階網站索引建立功能提供其他功能,例如搜尋摘要、後續搜尋和擷取式回答。進階網站索引建立功能會產生額外費用,且您必須驗證要建立索引的網站網域擁有權。詳情請參閱進階網站索引和定價。
在「Sites to include」(要包含的網站) 欄位中,輸入與要納入資料儲存庫的網站相符的網址模式。每行輸入一個網址模式,不需使用半形逗號分隔。例如:
example.com/docs/*
選用:在「要排除的網站」欄位中,輸入要從資料儲存庫排除的網址模式。
排除的網站優先於納入的網站。因此,如果您納入
example.com/docs/*
但排除example.com
,系統就不會為任何網站建立索引。詳情請參閱「網站資料」。按一下「繼續」。
選取資料儲存庫的位置。
- 建立基本網站搜尋資料儲存庫時,這項設定一律為「global (Global)」。
- 使用進階網站索引功能建立資料儲存庫時,您可以選取位置。由於建立索引的網站必須公開,Google 強烈建議您選取「global (Global)」(全球 (全球)) 做為位置。這可確保所有搜尋和回答服務的可用性達到最高,並消除區域資料儲存庫的限制。
輸入資料儲存庫的名稱。
按一下「建立」,Vertex AI Search 會隨即建立資料儲存庫,並在「Data Stores」(資料儲存庫) 頁面上顯示。
如要查看資料儲存庫的相關資訊,請點選「Name」(名稱) 欄中的資料儲存庫名稱。系統會顯示資料儲存庫頁面。
- 如果開啟「進階網站索引建立功能」,系統會顯示警告,提示您驗證資料儲存庫中的網域。
- 如果配額不足 (您指定的網站頁面數量超過專案的「每個專案的文件數量」配額),系統會顯示額外警告,提示您升級配額。
如要升級配額,請按照下列步驟操作:
- 按一下「升級配額」。 Google Cloud 控制台會顯示「IAM and Admin」(IAM 與管理) 頁面。
- 請按照 Google Cloud 說明文件中的「要求提高配額限制」一節操作。要增加的配額是 Discovery Engine API 服務中的「文件數量」。
- 提交提高配額上限的要求後,請返回「AI Applications」頁面,然後按一下導覽選單中的「Data Stores」。
- 在「名稱」欄中,按一下資料儲存庫的名稱。「狀態」欄會指出已超出配額的網站目前是否正在建立索引。如果網址的「狀態」欄顯示「已編入索引」,表示該網址或網址模式可使用進階網站索引功能。
詳情請參閱「配額與限制」頁面中的「網頁索引配額」。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入網站
後續步驟
如要將網站資料儲存庫附加至應用程式,請建立已啟用 Enterprise 功能的應用程式,然後按照「建立搜尋應用程式」一文中的步驟選取資料儲存庫。
如果已啟用進階網站索引功能,可以使用結構化資料更新結構定義。
如要預覽設定應用程式和資料儲存庫後的搜尋結果,請參閱「取得搜尋結果」。
從 BigQuery 匯入
Vertex AI Search 支援搜尋 BigQuery 資料。
您可以透過兩種方式,從 BigQuery 資料表建立資料儲存庫:
一次性擷取:將資料從 BigQuery 資料表匯入資料儲存庫。除非手動重新整理資料,否則資料存放區中的資料不會變更。
定期擷取:從一或多個 BigQuery 資料表匯入資料,並設定同步頻率,決定資料存放區更新 BigQuery 資料集最新資料的頻率。
下表比較將 BigQuery 資料匯入 Vertex AI Search 資料儲存庫的兩種方式。
單次擷取 | 定期擷取 |
---|---|
正式發布 (GA)。 | 公開預先發布版。 |
資料必須手動重新整理。 | 資料會每 1、3 或 5 天自動更新一次。資料無法手動重新整理。 |
Vertex AI Search 會從 BigQuery 的一個資料表建立單一資料儲存庫。 | Vertex AI Search 會為每個指定的資料表,建立 BigQuery「資料集」的「資料連接器」,以及資料儲存庫 (稱為「實體」資料儲存庫)。每個資料連結器的資料表必須具有相同的資料類型 (例如結構化),且位於相同的 BigQuery 資料集中。 |
如要將多個資料表的資料合併到一個資料儲存庫,請先從一個資料表擷取資料,然後從另一個來源或 BigQuery 資料表擷取更多資料。 | 由於系統不支援手動匯入資料,實體資料儲存庫中的資料只能來自一個 BigQuery 資料表。 |
支援資料來源存取權控管。 | 系統不支援資料來源存取權控管。匯入的資料可能包含存取控制項,但系統不會採用這些控制項。 |
您可以使用Google Cloud 控制台或 API 建立資料儲存庫。 | 您必須使用控制台建立資料連接器及其實體資料存放區。 |
符合 CMEK 規定。 | 符合 CMEK 規定。 |
從 BigQuery 匯入一次
如要從 BigQuery 資料表擷取資料,請按照下列步驟建立資料存放區,並使用 Google Cloud 控制台或 API 擷取資料。
匯入資料前,請先參閱「為資料擷取作業做準備」。
控制台
如要使用 Google Cloud 控制台從 BigQuery 擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「建立資料儲存庫」
。在「來源」頁面中,選取「BigQuery」。
在「你要匯入哪種資料?」部分,選取要匯入的資料類型。
在「Synchronization frequency」(同步處理頻率) 部分選取「One time」(一次性)。
在「BigQuery 路徑」欄位中,按一下「瀏覽」,選取您準備用於擷取的資料表,然後按一下「選取」。 或者,直接在「BigQuery 路徑」欄位中輸入資料表位置。
按一下「繼續」。
如果只匯入一次結構化資料:
將欄位對應至主要屬性。
如果結構定義缺少重要欄位,請使用「新增欄位」新增。
詳情請參閱「關於自動偵測和編輯」。
按一下「繼續」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
點選「建立」。
如要檢查擷取狀態,請前往「資料儲存庫」頁面,點選資料儲存庫名稱,即可在相應的「資料」頁面查看詳細資料。「活動」分頁的狀態欄從「處理中」變更為「匯入完成」時,表示資料已完成擷取。
視資料大小而定,擷取作業可能需要數分鐘至數小時才能完成。
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」的 BigQuery 資料表匯入目的地專案「456」,請授予專案「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 資料表結構定義,且 Vertex AI Search 會自動為匯入的每份文件產生 ID。
ERROR_DIRECTORY
:選用。Cloud Storage 目錄,用於存放匯入作業的錯誤資訊,例如gs://<your-gcs-bucket>/directory/import_errors
。Google 建議將這個欄位留空,讓 Vertex AI Search 自動建立暫時目錄。RECONCILIATION_MODE
:選用。值為FULL
和INCREMENTAL
。預設為INCREMENTAL
步。指定INCREMENTAL
會導致資料從 BigQuery 遞增重新整理至資料存放區。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新設定基準。換句話說,系統會將新文件和更新的文件新增至資料存放區,並從資料存放區中移除不在 BigQuery 中的文件。如果您想自動刪除不再需要的檔案,FULL
模式會很有幫助。AUTO_GENERATE_IDS
:選用。指定是否要自動產生文件 ID。如果設為true
,系統會根據酬載的雜湊值產生文件 ID。請注意,多次匯入時,產生的文件 ID 可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將reconciliationMode
設為FULL
,確保文件 ID 一致。只有在
bigquerySource.dataSchema
設為custom
時,才指定autoGenerateIds
。否則,系統會傳回INVALID_ARGUMENT
錯誤。如未指定autoGenerateIds
或將其設為false
,則必須指定idField
。否則文件無法匯入。ID_FIELD
:選用。指定哪些欄位是文件 ID。如果是 BigQuery 來源檔案,idField
表示 BigQuery 資料表中包含文件 ID 的資料欄名稱。只有在 (1)
bigquerySource.dataSchema
設為custom
,且 (2)auto_generate_ids
設為false
或未指定時,才需要指定idField
。否則會傳回INVALID_ARGUMENT
錯誤。BigQuery 資料欄名稱的值必須為字串類型,長度必須介於 1 至 63 個字元之間,且必須符合 RFC-1034。否則文件無法匯入。
C#
詳情請參閱 AI Applications C# API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Go
詳情請參閱 AI Applications Go API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Java
詳情請參閱 AI Applications Java API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Node.js
詳情請參閱 AI Applications Node.js API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Ruby
詳情請參閱 AI Applications Ruby API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
連結至 BigQuery 並定期同步
匯入資料前,請先參閱「為資料擷取作業做準備」。
以下程序說明如何建立資料連接器,將 BigQuery 資料集與 Vertex AI Search 資料連接器建立關聯,以及如何為要建立的每個資料儲存庫指定資料集中的資料表。資料連接器子項的資料儲存庫稱為「實體」資料儲存庫。
資料集中的資料會定期同步至實體資料儲存庫。您可以指定每日、每三天或每五天同步一次。
控制台
如要使用 Google Cloud 控制台建立連接器,定期將資料從 BigQuery 資料集同步至 Vertex AI Search,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下「Create data store」(建立資料儲存庫)。
在「來源」頁面中,選取「BigQuery」。
選取要匯入的資料類型。
按一下「週期性」。
選取「同步頻率」,也就是 Vertex AI Search 連接器與 BigQuery 資料集同步的頻率。你日後仍可變更頻率。
在「BigQuery 資料集路徑」欄位中,按一下「瀏覽」,選取包含您準備要擷取的資料表的資料集。或者,您也可以直接在「BigQuery 路徑」欄位中輸入資料表位置。路徑格式為
projectname.datasetname
。在「Tables to sync」(要同步處理的資料表) 欄位中,按一下「Browse」(瀏覽),然後選取包含資料儲存庫所需資料的資料表。
如果資料集中還有其他要用於資料儲存區的資料表,請按一下「新增資料表」並指定這些資料表。
按一下「繼續」。
選擇資料儲存庫的區域,輸入資料連接器的名稱,然後按一下「Create」(建立)。
您已建立資料連接器,這個連接器會定期與 BigQuery 資料集同步處理資料。您已建立一或多個實體資料儲存庫。資料儲存庫的名稱與 BigQuery 資料表相同。
如要檢查擷取狀態,請前往「資料儲存庫」頁面,點選資料連接器名稱,即可在相應的「資料」頁面中,查看「資料擷取活動」分頁標籤的詳細資料。「活動」分頁的狀態欄從「進行中」變更為「成功」時,表示首次擷取作業已完成。
視資料大小而定,擷取作業可能需要數分鐘至數小時才能完成。
設定資料來源並首次匯入資料後,資料儲存庫會按照您在設定期間選取的頻率,從該來源同步資料。建立資料連接器後約一小時,系統就會進行首次同步。下一次同步處理會在 24 小時、72 小時或 120 小時後進行。
後續步驟
從 Cloud Storage 匯入
您可以透過兩種方式,從 Cloud Storage 資料表建立資料存放區:
一次性擷取:將 Cloud Storage 資料夾或檔案中的資料匯入資料儲存庫。除非手動重新整理資料,否則資料存放區中的資料不會變更。
週期性擷取:從 Cloud Storage 資料夾或檔案匯入資料,並設定同步頻率,決定資料存放區更新該 Cloud Storage 位置最新資料的頻率。
下表比較了將 Cloud Storage 資料匯入 Vertex AI Search 資料儲存庫的兩種方式。
單次擷取 | 定期擷取 |
---|---|
正式發布 (GA)。 | 公開預先發布版。 |
資料必須手動重新整理。 | 資料會每 1、3 或 5 天自動更新一次。資料無法手動重新整理。 |
Vertex AI Search 會從 Cloud Storage 中的單一資料夾或檔案建立資料儲存庫。 | Vertex AI Search 會建立資料連接器,並將資料儲存庫 (稱為實體資料儲存庫) 與指定的檔案或資料夾建立關聯。每個 Cloud Storage 資料連接器只能有一個實體資料存放區。 |
您可以先從一個 Cloud Storage 位置擷取資料,然後從另一個位置擷取更多資料,將多個檔案、資料夾和 bucket 的資料合併到一個資料存放區。 | 由於系統不支援手動匯入資料,實體資料儲存庫中的資料只能來自一個 Cloud Storage 檔案或資料夾。 |
支援資料來源存取權控管。詳情請參閱「資料來源存取權控管」。 | 系統不支援資料來源存取權控管。匯入的資料可能包含存取控制項,但系統不會採用這些控制項。 |
您可以使用Google Cloud 控制台或 API 建立資料儲存庫。 | 您必須使用控制台建立資料連接器及其實體資料存放區。 |
符合 CMEK 規定。 | 符合 CMEK 規定。 |
從 Cloud Storage 匯入一次
如要從 Cloud Storage 擷取資料,請按照下列步驟建立資料儲存庫,並使用 Google Cloud 控制台或 API 擷取資料。
匯入資料前,請先參閱「為資料擷取作業做準備」。
控制台
如要使用控制台從 Cloud Storage 值區擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「建立資料儲存庫」
。在「來源」頁面中,選取「Cloud Storage」。
在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」。
按一下「瀏覽」,然後選擇已準備好要擷取的資料,再按一下「選取」。 你也可以直接在「
gs://
」欄位中輸入位置。選取要匯入的資料類型。
按一下「繼續」。
如果只匯入一次結構化資料:
將欄位對應至主要屬性。
如果結構定義缺少重要欄位,請使用「新增欄位」新增。
詳情請參閱「關於自動偵測和編輯」。
按一下「繼續」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
選用:如果選取非結構化文件,可以為文件選取剖析和分塊選項。如要比較剖析器,請參閱「剖析文件」。如要瞭解如何將文件分塊,請參閱「將文件分塊以供 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"] }'
更改下列內容:
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
,模式比對一或多個檔案的範例為gs://<your-gcs-bucket>/directory/*.json
。如果是非結構化文件,範例為
gs://<your-gcs-bucket>/directory/*.pdf
。符合模式的每個檔案都會成為文件。如果
<your-gcs-bucket>
不在 PROJECT_ID 下方,您需要為 Cloud Storage 值區授予服務帳戶service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com
「Storage 物件檢視者」權限。舉例來說,如果您要將來源專案「123」的 Cloud Storage 值區匯入目的地專案「456」,請在專案「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 位元。只要相符的檔案不超過 10 萬個,您就可以指定多個輸入檔案模式。csv
:在 CSV 檔案中加入標題列,並將每個標題對應至文件欄位。使用inputUris
欄位指定 CSV 檔案的路徑。
ERROR_DIRECTORY
:選用。Cloud Storage 目錄,用於存放匯入作業的錯誤資訊,例如gs://<your-gcs-bucket>/directory/import_errors
。Google 建議將這個欄位留空,讓 Vertex AI Search 自動建立暫時目錄。RECONCILIATION_MODE
:選用。值為FULL
和INCREMENTAL
。預設為INCREMENTAL
步。指定INCREMENTAL
會導致資料從 Cloud Storage 遞增重新整理至資料存放區。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新設定基準。換句話說,系統會將新的和更新的文件新增至資料存放區,並從資料存放區中移除不在 Cloud Storage 中的文件。如果您想自動刪除不再需要的文件,FULL
模式會很有幫助。AUTO_GENERATE_IDS
:選用。指定是否要自動產生文件 ID。如果設為true
,系統會根據酬載的雜湊值產生文件 ID。請注意,多次匯入時,產生的文件 ID 可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將reconciliationMode
設為FULL
,以維持文件 ID 的一致性。只有在
gcsSource.dataSchema
設為custom
或csv
時,才指定autoGenerateIds
。否則,系統會傳回INVALID_ARGUMENT
錯誤。如未指定autoGenerateIds
或將其設為false
,則必須指定idField
。否則文件無法匯入。ID_FIELD
:選用。指定哪些欄位是文件 ID。如果是 Cloud Storage 來源文件,idField
會指定 JSON 欄位中的名稱,這些欄位是文件 ID。舉例來說,如果{"my_id":"some_uuid"}
是其中一個文件的文件 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#
詳情請參閱 AI Applications C# API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Go
詳情請參閱 AI Applications Go API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Java
詳情請參閱 AI Applications Java API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Node.js
詳情請參閱 AI Applications Node.js API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
Ruby
詳情請參閱 AI Applications Ruby API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
透過定期同步功能連線至 Cloud Storage
匯入資料前,請先參閱「為資料擷取作業做準備」。
以下程序說明如何建立資料連接器,將 Cloud Storage 位置與 Vertex AI Search 資料連接器建立關聯,以及如何指定該位置中的資料夾或檔案,做為要建立的資料儲存庫。資料連接器子項的資料儲存庫稱為「實體」資料儲存庫。
資料會定期同步至實體資料儲存庫。您可以指定每天、每三天或每五天同步一次。
控制台
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「Create data store」(建立資料儲存庫)。
在「來源」頁面中,選取「Cloud Storage」。
選取要匯入的資料類型。
按一下「週期性」。
選取「Synchronization frequency」(同步處理頻率),設定 Vertex AI Search 連接器與 Cloud Storage 位置同步的頻率。你日後仍可變更頻率。
在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」。
按一下「瀏覽」,然後選擇已準備好要擷取的資料,再按一下「選取」。 你也可以直接在「
gs://
」欄位中輸入位置。按一下「繼續」。
選擇資料連接器的區域。
輸入資料連接器的名稱。
選用:如果選取非結構化文件,可以為文件選取剖析和分塊選項。如要比較剖析器,請參閱「剖析文件」。如要瞭解如何將文件分塊,請參閱「將文件分塊以供 RAG 使用」。
OCR 剖析器和版面配置剖析器可能會產生額外費用。請參閱「Document AI 功能定價」。
如要選取剖析器,請展開「文件處理選項」,然後指定要使用的剖析器選項。
點選「建立」。
您已建立資料連接器,該連接器會定期與 Cloud Storage 位置同步處理資料。您也建立了名為
gcs_store
的實體資料儲存庫。如要檢查擷取狀態,請前往「資料儲存庫」頁面,然後點選資料連接器名稱,即可在相應的「資料」頁面查看詳細資料。
「資料擷取活動」分頁。「資料擷取活動」分頁的狀態欄從「進行中」變更為「成功」時,表示首次擷取作業已完成。
視資料大小而定,擷取作業可能需要數分鐘至數小時才能完成。
首次設定資料來源並匯入資料後,系統會按照您在設定期間選取的頻率,從該來源同步處理資料。建立資料連接器後約一小時,系統就會進行首次同步。下一次同步處理會在 24 小時、72 小時或 120 小時後進行。
後續步驟
連結 Google 雲端硬碟
AI 應用程式可使用資料聯盟功能搜尋 Google 雲端硬碟中的資料,直接從指定資料來源擷取資訊。由於資料不會複製到 Vertex AI Search 索引,因此您不必擔心資料儲存問題。
事前準備
- 您必須使用與要連結的 Google 雲端硬碟執行個體相同的帳戶登入 Google Cloud 控制台。AI 應用程式會使用您的 Google Workspace 客戶 ID 連線至 Google 雲端硬碟。
- 如要強制執行資料來源存取控管機制,並確保 AI Applications 中的資料安全無虞,請設定身分識別提供者。
如果您使用安全控管措施,請注意這些措施對 Google 雲端硬碟資料的限制,如下表所示:
安全控管 請注意下列事項 資料落地權 (DRZ) AI 應用程式僅保證資料落地於 Google Cloud。如要瞭解資料落地和 Google 雲端硬碟,請參閱 Google Workspace 法規遵循指南和文件,例如「選擇資料儲存的區域」和「 數位主權」。 客戶管理的加密金鑰 (CMEK) 您的金鑰只會加密 Google Cloud內的資料。Cloud Key Management Service 控制項不適用於 Google 雲端硬碟中儲存的資料。 資料存取透明化控管機制 「資料存取透明化控管機制記錄」會記錄 Google 人員對 Google Cloud 專案採取的動作。您也需要查看 Google Workspace 建立的資料存取透明化控管機制記錄。詳情請參閱 Google Workspace 管理員說明文件中的「資料存取透明化控管機制記錄事件」。
使用資料聯盟
控制台
如要使用控制台讓 Google 雲端硬碟資料可供搜尋,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下「建立資料儲存庫」
。在「Select a data source」(選取資料來源) 頁面中,選取「Google 雲端硬碟」。
指定資料儲存庫的雲端硬碟來源。
- 全部:將整個雲端硬碟新增至資料儲存庫。
- 特定共用雲端硬碟:新增共用雲端硬碟的資料夾 ID。
- 特定共用資料夾:新增共用資料夾的 ID。
如要找出共用雲端硬碟的資料夾 ID 或特定資料夾 ID,請前往共用雲端硬碟或資料夾,然後從網址複製 ID。網址格式如下:
https://drive.google.com/corp/drive/folders/ID
。例如
https://drive.google.com/corp/drive/folders/123456789012345678901
。按一下「繼續」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
選用:如要排除這個資料儲存庫中的資料,避免在您使用應用程式查詢資料時用於生成式 AI 內容,請按一下「生成式 AI 選項」,然後選取「排除在生成式 AI 功能之外」。
點選「建立」。
錯誤訊息
下表說明使用這個 Google 資料來源時可能會遇到的錯誤訊息,包括 HTTP 錯誤代碼和建議的疑難排解步驟。
錯誤代碼 | 錯誤訊息 | 說明 | 疑難排解 |
---|---|---|---|
403 (權限遭拒) | Google Workspace 資料儲存區不支援使用服務帳戶憑證進行搜尋。 | 搜尋引擎有 Google Workspace 資料儲存空間,且傳遞的憑證屬於服務帳戶。不支援使用服務帳戶憑證在 Google Workspace 資料儲存空間中搜尋。 | 使用使用者憑證呼叫搜尋,或從引擎中移除 Google Workspace 資料存放區。 |
403 (權限遭拒) | Google Workspace 資料儲存庫不支援消費者帳戶。 | 系統使用消費者帳戶 (@gmail.com) 憑證呼叫搜尋功能,但 Google Workspace 資料儲存庫不支援這類憑證。 | 從引擎中移除 Google Workspace 資料儲存區,或使用受管理的 Google 帳戶。 |
403 (權限遭拒) | 資料儲存庫的客戶 ID 不符 | 只有與 Google Workspace 資料儲存區屬於同一機構的使用者,才能進行搜尋。 | 從引擎中移除 Google Workspace 資料存放區,或聯絡支援團隊 (如果使用者和 Google Workspace 資料存放區應位於不同機構)。 |
400 (引數無效) | 引擎不得同時包含預設和共用的 Google 雲端硬碟資料儲存庫。 | 您無法將包含所有雲端硬碟 (預設) 的資料儲存庫,以及包含特定共用雲端硬碟的資料儲存庫,連結至同一個應用程式。 | 如要將新的 Google 雲端硬碟資料來源連結至應用程式,請先取消連結不需要的資料儲存庫,然後新增要使用的資料儲存庫。 |
使用資料聯盟
連結 Gmail
請按照下列步驟,在 Google Cloud 控制台中建立連結至 Gmail 的資料儲存庫。連結資料儲存庫後,即可將資料儲存庫附加至搜尋應用程式,並搜尋 Gmail 資料。
事前準備
- 您必須使用與要連結的 Google Workspace 執行個體相同的帳戶,登入 Google Cloud 控制台。Vertex AI Search 會使用您的 Google Workspace 客戶 ID 連線至 Gmail。
- 如要強制執行資料來源存取控管機制,並確保 AI Applications 中的資料安全無虞,請設定身分識別提供者。
限制
如果您使用安全性控制項,請注意這些控制項對 Gmail 資料的限制,如下表所示:
安全控管 請注意下列事項 資料落地權 (DRZ) AI 應用程式僅保證資料落地於 Google Cloud。如要瞭解資料存放位置和 Gmail,請參閱 Google Workspace 法規遵循指南和文件,例如「選擇資料儲存地區」和「 數位主權」。 客戶管理的加密金鑰 (CMEK) 您的金鑰只會加密 Google Cloud內的資料。Cloud Key Management Service 控制項不適用於 Gmail 中儲存的資料。 資料存取透明化控管機制 「資料存取透明化控管機制記錄」會記錄 Google 人員對 Google Cloud 專案採取的動作。您也需要查看 Google Workspace 建立的資料存取透明化控管機制記錄。詳情請參閱 Google Workspace 管理員說明文件中的「資料存取透明化控管機制記錄事件」。
建立 Gmail 資料儲存庫
控制台
如要使用控制台讓 Gmail 資料可供搜尋,請按照下列步驟操作:
錯誤訊息
下表說明使用這個 Google 資料來源時可能會遇到的錯誤訊息,包括 HTTP 錯誤代碼和建議的疑難排解步驟。
錯誤代碼 | 錯誤訊息 | 說明 | 疑難排解 |
---|---|---|---|
403 (權限遭拒) | Google Workspace 資料儲存區不支援使用服務帳戶憑證進行搜尋。 | 搜尋引擎有 Google Workspace 資料儲存空間,且傳遞的憑證屬於服務帳戶。不支援使用服務帳戶憑證在 Google Workspace 資料儲存空間中搜尋。 | 使用使用者憑證呼叫搜尋,或從引擎中移除 Google Workspace 資料存放區。 |
403 (權限遭拒) | Google Workspace 資料儲存庫不支援消費者帳戶。 | 系統使用消費者帳戶 (@gmail.com) 憑證呼叫搜尋功能,但 Google Workspace 資料儲存庫不支援這類憑證。 | 從引擎中移除 Google Workspace 資料儲存區,或使用受管理的 Google 帳戶。 |
403 (權限遭拒) | 資料儲存庫的客戶 ID 不符 | 只有與 Google Workspace 資料儲存區屬於同一機構的使用者,才能進行搜尋。 | 從引擎中移除 Google Workspace 資料存放區,或聯絡支援團隊 (如果使用者和 Google Workspace 資料存放區應位於不同機構)。 |
400 (引數無效) | 引擎不得同時包含預設和共用的 Google 雲端硬碟資料儲存庫。 | 您無法將包含所有雲端硬碟 (預設) 的資料儲存庫,以及包含特定共用雲端硬碟的資料儲存庫,連結至同一個應用程式。 | 如要將新的 Google 雲端硬碟資料來源連結至應用程式,請先取消連結不需要的資料儲存庫,然後新增要使用的資料儲存庫。 |
後續步驟
- 如要預覽設定應用程式和資料儲存庫後的搜尋結果,請參閱「預覽搜尋結果」。
連結至 Google 協作平台
如要搜尋 Google 協作平台中的資料,請按照下列步驟,使用 Google Cloud 控制台建立連接器。
事前準備:
您必須使用與要連結的 Google Workspace 執行個體相同的帳戶,登入 Google Cloud 控制台。Vertex AI Search 會使用 Google Workspace 客戶 ID 連線至 Google 協作平台。
如要強制執行資料來源存取控管機制,並確保 AI Applications 中的資料安全無虞,請設定身分識別提供者。
如果您使用安全控管措施,請注意這些措施對 Google 協作平台資料的限制,如下表所示:
安全控管 請注意下列事項 資料落地權 (DRZ) AI 應用程式僅保證資料落地於 Google Cloud。如要瞭解資料落地和 Google 協作平台,請參閱 Google Workspace 法規遵循指南和文件,例如「選擇資料儲存區域」和「 數位主權」。 客戶管理的加密金鑰 (CMEK) 您的金鑰只會加密 Google Cloud內的資料。Cloud Key Management Service 控制項不適用於 Google 協作平台中儲存的資料。 資料存取透明化控管機制 「資料存取透明化控管機制記錄」會記錄 Google 人員對 Google Cloud 專案採取的動作。您也需要查看 Google Workspace 建立的資料存取透明化控管機制記錄。詳情請參閱 Google Workspace 管理員說明文件中的「資料存取透明化控管機制記錄事件」。
控制台
如要使用控制台讓 Google 協作平台資料可供搜尋,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「新增資料儲存庫」。
在「來源」頁面中,選取「Google 協作平台」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
點選「建立」。
後續步驟
連結 Google 日曆
如要搜尋 Google 日曆中的資料,請按照下列步驟,使用 Google Cloud 控制台建立連接器。
事前準備
- 您必須使用與要連結的 Google Workspace 執行個體相同的帳戶,登入 Google Cloud 控制台。Vertex AI Search 會使用 Google Workspace 客戶 ID 連線至 Google 日曆。
- 如要強制執行資料來源存取控管機制,並確保 AI Applications 中的資料安全無虞,請設定身分識別提供者。
如果您使用安全性控制項,請注意這些控制項對 Google 日曆資料的限制,如下表所示:
安全控管 請注意下列事項 資料落地權 (DRZ) AI 應用程式僅保證資料落地於 Google Cloud。如要瞭解資料落地和 Google 日曆,請參閱 Google Workspace 法規遵循指南和文件,例如「選擇資料儲存地區」和「 數位主權」。 客戶管理的加密金鑰 (CMEK) 您的金鑰只會加密 Google Cloud內的資料。Cloud Key Management Service 控制項不適用於儲存在 Google 日曆中的資料。 資料存取透明化控管機制 「資料存取透明化控管機制記錄」會記錄 Google 人員對 Google Cloud 專案採取的動作。您也需要查看 Google Workspace 建立的資料存取透明化控管機制記錄。詳情請參閱 Google Workspace 管理員說明文件中的「資料存取透明化控管機制記錄事件」。
建立 Google 日曆資料儲存庫
控制台
如要使用控制台讓 Google 日曆資料可供搜尋,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下「建立資料儲存庫」
。在「Select a data source」(選取資料來源) 頁面中,選取「Google Calendar」(Google 日曆)。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
點選「建立」。
錯誤訊息
下表說明使用這個 Google 資料來源時可能會遇到的錯誤訊息,包括 HTTP 錯誤代碼和建議的疑難排解步驟。
錯誤代碼 | 錯誤訊息 | 說明 | 疑難排解 |
---|---|---|---|
403 (權限遭拒) | Google Workspace 資料儲存區不支援使用服務帳戶憑證進行搜尋。 | 搜尋引擎有 Google Workspace 資料儲存空間,且傳遞的憑證屬於服務帳戶。不支援使用服務帳戶憑證在 Google Workspace 資料儲存空間中搜尋。 | 使用使用者憑證呼叫搜尋,或從引擎中移除 Google Workspace 資料存放區。 |
403 (權限遭拒) | Google Workspace 資料儲存庫不支援消費者帳戶。 | 系統使用消費者帳戶 (@gmail.com) 憑證呼叫搜尋功能,但 Google Workspace 資料儲存庫不支援這類憑證。 | 從引擎中移除 Google Workspace 資料儲存區,或使用受管理的 Google 帳戶。 |
403 (權限遭拒) | 資料儲存庫的客戶 ID 不符 | 只有與 Google Workspace 資料儲存區屬於同一機構的使用者,才能進行搜尋。 | 從引擎中移除 Google Workspace 資料存放區,或聯絡支援團隊 (如果使用者和 Google Workspace 資料存放區應位於不同機構)。 |
400 (引數無效) | 引擎不得同時包含預設和共用的 Google 雲端硬碟資料儲存庫。 | 您無法將包含所有雲端硬碟 (預設) 的資料儲存庫,以及包含特定共用雲端硬碟的資料儲存庫,連結至同一個應用程式。 | 如要將新的 Google 雲端硬碟資料來源連結至應用程式,請先取消連結不需要的資料儲存庫,然後新增要使用的資料儲存庫。 |
後續步驟
連結至 Google 網路論壇
如要搜尋 Google 討論群組的資料,請按照下列步驟使用 Google Cloud 控制台建立連接器。
事前準備:
您必須使用與要連結的 Google Workspace 執行個體相同的帳戶,登入 Google Cloud 控制台。Vertex AI Search 會使用 Google Workspace 客戶 ID 連線至 Google 協作群組。
如要強制執行資料來源存取控管機制,並確保 AI Applications 中的資料安全無虞,請設定身分識別提供者。
如果您使用安全性控制項,請注意下表所述與 Google 網路論壇資料相關的限制:
安全控管 請注意下列事項 資料落地權 (DRZ) AI 應用程式僅保證資料落地於 Google Cloud。如要瞭解資料存放位置和 Google 協作群組,請參閱 Google Workspace 法規遵循指南和文件,例如「選擇資料儲存地區」和「 數位主權」。 客戶管理的加密金鑰 (CMEK) 您的金鑰只會加密 Google Cloud內的資料。Cloud Key Management Service 控制項不適用於儲存在 Google Groups 中的資料。 資料存取透明化控管機制 「資料存取透明化控管機制記錄」會記錄 Google 人員對 Google Cloud 專案採取的動作。您也需要查看 Google Workspace 建立的資料存取透明化控管機制記錄。詳情請參閱 Google Workspace 管理員說明文件中的「資料存取透明化控管機制記錄事件」。
控制台
如要使用控制台讓 Google 協作平台資料可供搜尋,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「新增資料儲存庫」。
在「來源」頁面中,選取「Google 群組」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
按一下「建立」,視資料大小而定,擷取作業可能需要數分鐘至數小時才能完成。請至少等待一小時,再使用資料存放區進行搜尋。
後續步驟
從 Cloud SQL 匯入
如要從 Cloud SQL 擷取資料,請按照下列步驟設定 Cloud SQL 存取權、建立資料儲存庫,然後擷取資料。
設定 Cloud SQL 執行個體的暫存值區存取權
從 Cloud SQL 擷取資料時,資料會先暫存至 Cloud Storage 值區。請按照下列步驟,授予 Cloud SQL 執行個體 Cloud Storage 值區的存取權。
前往 Google Cloud 控制台的「SQL」頁面。
按一下要從中匯入資料的 Cloud SQL 執行個體。
複製執行個體服務帳戶的 ID,看起來像是電子郵件地址,例如
p9876-abcd33f@gcp-sa-cloud-sql.iam.gserviceaccount.com
。前往「IAM & Admin」(IAM 與管理) 頁面。
按一下「授予存取權」。
在「新增主體」中輸入執行個體的服務帳戶 ID,然後選取「Cloud Storage」>「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 & Admin」(IAM 與管理) 頁面。
在「IAM 與管理」頁面中切換至 Cloud SQL 專案,然後按一下「授予存取權」。
在「新增主體」部分,輸入服務帳戶的 ID,然後選取「Cloud SQL」>「Cloud SQL 檢視者」角色。
按一下 [儲存]。
接著,請參閱從 Cloud SQL 匯入資料。
從 Cloud SQL 匯入資料
控制台
如要使用控制台從 Cloud SQL 擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「新增資料儲存庫」。
在「來源」頁面中,選取「Cloud SQL」。
指定要匯入資料的專案 ID、執行個體 ID、資料庫 ID 和資料表 ID。
按一下「Browse」(瀏覽),選擇要將資料匯出至哪個 Cloud Storage 中間位置,然後按一下「Select」(選取)。你也可以直接在「
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 遞增式重新整理資料至資料存放區。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新設定基準。換句話說,系統會將新文件和更新的文件新增至資料存放區,並從資料存放區中移除不在 Cloud SQL 中的文件。如果您想自動刪除不再需要的文件,可以啟用FULL
模式。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
後續步驟
從 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 & Admin」(IAM 與管理) 頁面。
在「IAM 與管理」頁面中切換至 Spanner 專案,然後按一下「授予存取權」。
在「新增主體」中,輸入服務帳戶的 ID,然後選取下列其中一個選項:
- 如果匯入期間不會使用 Data Boost,請選取「Cloud Spanner」>「Cloud Spanner Database Reader」角色。
- 如要在匯入期間使用 Data Boost,請選取「Cloud Spanner」>「Cloud Spanner 資料庫管理員」角色,或是具有「Cloud Spanner 資料庫讀取者」和「spanner.databases.useDataBoost」權限的自訂角色。如要瞭解 Data Boost,請參閱 Spanner 說明文件中的「Data Boost 總覽」。
按一下 [儲存]。
接著,請參閱「從 Spanner 匯入資料」。
從 Spanner 匯入資料
控制台
如要使用控制台從 Spanner 擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「新增資料儲存庫」。
在「來源」頁面中,選取「Cloud Spanner」。
指定要匯入資料的專案 ID、執行個體 ID、資料庫 ID 和資料表 ID。
選取是否要開啟「資料加速」功能。如要瞭解 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 遞增重新整理資料至資料儲存庫。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新基準化。換句話說,系統會將新文件和更新文件新增至資料存放區,並從資料存放區中移除不在 Spanner 中的文件。如果您想自動刪除不再需要的檔案,FULL
模式會很有幫助。AUTO_GENERATE_IDS
:選用。指定是否要自動產生文件 ID。如果設為true
,系統會根據酬載的雜湊值產生文件 ID。請注意,多次匯入時,產生的文件 ID 可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將reconciliationMode
設為FULL
,以維持文件 ID 的一致性。ID_FIELD
:選用。指定哪些欄位是文件 ID。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
後續步驟
從 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 & Admin」(IAM 與管理) 頁面。
在「IAM 與管理」頁面中切換至 Firestore 專案,然後按一下「授予存取權」。
在「新增主體」中,輸入執行個體的服務帳戶 ID,然後選取「Datastore」>「Cloud Datastore Import Export Admin」角色。
按一下 [儲存]。
切換回 Vertex AI Search 專案。
接著,請參閱「從 Firestore 匯入資料」。
從 Firestore 匯入資料
控制台
如要使用控制台從 Firestore 擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
前往「資料儲存庫」頁面。
按一下「新增資料儲存庫」。
在「來源」頁面中,選取「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 遞增式重新整理資料至資料儲存庫。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新設定基準。換句話說,系統會將新的和更新的文件新增至資料存放區,並從資料存放區中移除不在 Firestore 中的文件。如果您想自動刪除不再需要的文件,FULL
模式會很有幫助。AUTO_GENERATE_IDS
:選用。指定是否要自動產生文件 ID。如果設為true
,系統會根據酬載的雜湊值產生文件 ID。請注意,多次匯入時,產生的文件 ID 可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將reconciliationMode
設為FULL
,以維持文件 ID 的一致性。ID_FIELD
:選用。指定哪些欄位是文件 ID。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
後續步驟
從 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 & Admin」(IAM 與管理) 頁面。
在「IAM 與管理」頁面中切換至 Bigtable 專案,然後按一下「授予存取權」。
在「新增主體」中,輸入執行個體的服務帳戶 ID,然後選取「Bigtable」>「Bigtable Reader」角色。
按一下 [儲存]。
切換回 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 遞增重新整理至資料儲存庫。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新設定基準。換句話說,系統會將新文件和更新的文件新增至資料存放區,並從資料存放區中移除不在 Bigtable 中的文件。如果您想自動刪除不再需要的文件,FULL
模式會很有幫助。AUTO_GENERATE_IDS
:選用。指定是否要自動產生文件 ID。如果設為true
,系統會根據酬載的雜湊值產生文件 ID。請注意,多次匯入時,產生的文件 ID 可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將reconciliationMode
設為FULL
,以維持文件 ID 的一致性。只有在
bigquerySource.dataSchema
設為custom
時,才需要指定autoGenerateIds
。否則,系統會傳回INVALID_ARGUMENT
錯誤。如未指定autoGenerateIds
或將其設為false
,則必須指定idField
。否則文件無法匯入。ID_FIELD
:選用。指定哪些欄位是文件 ID。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
後續步驟
從 PostgreSQL 適用的 AlloyDB 匯入
如要從 PostgreSQL 適用的 AlloyDB 擷取資料,請按照下列步驟建立資料存放區,並使用 Google Cloud 控制台或 API 擷取資料。
如果 PostgreSQL 適用的 AlloyDB 資料與 Vertex AI Search 專案位於同一個專案中,請前往「從 PostgreSQL 適用的 AlloyDB 匯入資料」。
如果 AlloyDB for PostgreSQL 資料與 Vertex AI Search 專案位於不同專案,請參閱設定 AlloyDB for PostgreSQL 存取權。
從其他專案設定 AlloyDB for PostgreSQL 存取權
如要授予 Vertex AI Search 權限,存取其他專案中的 PostgreSQL 適用的 AlloyDB 資料,請按照下列步驟操作:
將下列
PROJECT_NUMBER
變數替換為 Vertex AI Search 專案編號,然後複製這個程式碼區塊的內容。這是您的 Vertex AI Search 服務帳戶 ID:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
切換至 AlloyDB for PostgreSQL 資料所在的 Google Cloud 專案。
前往身分與存取權管理頁面。
點選「授予存取權」。
在「新增主體」中,輸入 Vertex AI Search 服務帳戶 ID,然後選取「Cloud AlloyDB」>「Cloud AlloyDB 管理員」角色。
按一下 [儲存]。
切換回 Vertex AI Search 專案。
接著,請參閱從 PostgreSQL 適用的 AlloyDB 匯入資料。
從 PostgreSQL 適用的 AlloyDB 匯入資料
控制台
如要使用控制台從 AlloyDB for PostgreSQL 擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「AI Applications」頁面。
在導覽選單中,按一下「資料儲存庫」。
按一下「Create data store」(建立資料儲存庫)。
在「來源」頁面中,選取「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 控制台。
從 PostgreSQL 適用的 AlloyDB 匯入資料。
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
:PostgreSQL 適用的 AlloyDB 專案 ID。- :PostgreSQL 適用的 AlloyDB 位置 ID。
LOCATION_ID
CLUSTER_ID
:PostgreSQL 適用的 AlloyDB 集群組 ID。DATABASE_ID
:PostgreSQL 適用的 AlloyDB 資料庫 ID。TABLE_ID
:PostgreSQL 適用的 AlloyDB 資料表 ID。RECONCILIATION_MODE
:選用。值為FULL
和INCREMENTAL
。預設為INCREMENTAL
步。指定INCREMENTAL
會導致系統從 AlloyDB for PostgreSQL 遞增式重新整理資料至資料存放區。這會執行 upsert 作業,新增文件並以 ID 相同的更新文件取代現有文件。指定FULL
會導致資料儲存庫中的文件完全重新設定基準。換句話說,系統會將新文件和更新的文件新增至資料存放區,並從資料存放區中移除不在 PostgreSQL 適用的 AlloyDB 中的文件。如果您想自動刪除不再需要的文件,FULL
模式會很有幫助。AUTO_GENERATE_IDS
:選用。指定是否要自動產生文件 ID。如果設為true
,系統會根據酬載的雜湊值產生文件 ID。請注意,多次匯入時,產生的文件 ID 可能不一致。如果您在多次匯入時自動產生 ID,Google 強烈建議將reconciliationMode
設為FULL
,以維持文件 ID 的一致性。ID_FIELD
:選用。指定哪些欄位是文件 ID。
Python
詳情請參閱 AI Applications Python API 參考說明文件。
如要向 AI Applications 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
建立資料儲存庫
匯入文件
後續步驟
使用 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 文件,以單一字串形式呈現。這項資料必須符合您在上一個步驟中提供的 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 服務代理程式。詳情請參閱「客戶管理的加密金鑰」一文中的「事前準備」。如果您使用進階網站索引功能,且資料存放區的文件用量遠低於預期,請檢查您指定的索引網址模式,確認這些模式涵蓋您要建立索引的網頁,並視需要擴大範圍。舉例來說,如果您使用
*.en.example.com/*
,可能需要在要建立索引的網站中加入*.example.com/*
。
使用 Terraform 建立資料儲存庫
您可以使用 Terraform 建立空白資料儲存庫。建立空白資料存放區後,您可以使用 Google Cloud 控制台 或 API 指令,將資料擷取至資料存放區。
如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。
如要使用 Terraform 建立空白資料儲存區,請參閱
google_discovery_engine_data_store
。