您可以透過兩種方式,從 Cloud Storage 資料表建立資料儲存庫:
一次性擷取:將 Cloud Storage 資料夾或檔案中的資料匯入資料儲存庫。除非手動重新整理資料,否則資料儲存庫中的資料不會變更。
定期擷取:從 Cloud Storage 資料夾或檔案匯入資料,並設定同步頻率,決定資料儲存庫從該 Cloud Storage 位置更新最新資料的頻率。
下表比較將 Cloud Storage 資料匯入 Gemini Enterprise 資料儲存庫的兩種方式。
| 一次性擷取 | 定期擷取 |
|---|---|
| 正式發布 (GA)。 | 公開測試。 |
| 必須手動重新整理資料。 | 資料每隔一、三或五天會自動更新。資料無法手動重新整理。 |
| Gemini Enterprise 會從 Cloud Storage 中的一個資料夾或檔案建立單一資料儲存庫。 | Gemini Enterprise 會建立資料連接器,並將資料儲存庫 (稱為「實體」資料儲存庫) 與指定檔案或資料夾建立關聯。每個 Cloud Storage 資料連接器只能有一個實體資料儲存庫。 |
| 如要將多個檔案、資料夾和 bucket 的資料合併至一個資料儲存庫,請先從一個 Cloud Storage 位置擷取資料,再從另一個位置擷取更多資料。 | 由於不支援手動匯入資料,實體資料儲存庫中的資料只能來自一個 Cloud Storage 檔案或資料夾。 |
| 支援資料來源存取控管。詳情請參閱「資料來源存取控管」。 | 不支援資料來源存取控管。匯入的資料可以包含存取控管機制,但系統不會遵循這些機制。 |
| 您可以使用Google Cloud 控制台或 API 建立資料儲存庫。 | 您必須使用控制台建立資料連接器及其實體資料儲存庫。 |
| 符合 CMEK 規定。 | 符合 CMEK 規範。 |
事前準備
如要從與 Gemini Enterprise 資料存放區專案不同的來源�專案匯入資料,請將下列 Identity and Access Management (IAM) 角色授予包含 Gemini Enterprise 資料存放區的專案中service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com服務帳戶: Google Cloud Google Cloud
從 Cloud Storage 匯入一次
如要從 Cloud Storage 擷取資料,請按照下列步驟,使用 Google Cloud 控制台或 API 建立資料儲存庫並擷取資料。
匯入資料前,請參閱「準備要擷取的資料」。
控制台
如要透過控制台擷取 Cloud Storage bucket 中的資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
前往「Data Stores」(資料儲存庫) 頁面。
點選「Create Data Store」(建立資料儲存庫)。
在「Select a data source」(選取資料來源) 頁面中,選取「Cloud Storage」。
在「Select a folder or file you want to import」(選取要匯入的資料夾或檔案) 專區,選取「Folder」(資料夾) 或「File」(檔案)。
按一下「Browse」(瀏覽),選擇準備擷取的資料,然後點選「Select」(選取)。或者,直接在「
gs://」欄位中輸入位置。選取要匯入的資料類型。
按一下「繼續」。
如果是一次性匯入結構化資料:
將欄位對應至主要屬性。
如果結構定義缺少重要欄位,請使用「Add new field」(新增欄位) 新增。
詳情請參閱「關於自動偵測和編輯」。
按一下「繼續」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
選用:如果選取非結構化文件,可以選取文件的剖析和分塊選項。如要比較剖析器,請參閱「剖析文件」。如要瞭解區塊劃分,請參閱「為 RAG 劃分文件區塊」。
OCR 剖析器和版面配置剖析器可能會產生額外費用。請參閱「Document AI 功能定價」。
如要選取剖析器,請展開「文件處理選項」,然後指定要使用的剖析器選項。
點選「建立」。
接著需要檢查擷取狀態,請前往「Data stores」(資料儲存庫) 頁面,點按資料儲存庫名稱,即可在相應的「Data」(資料) 頁面查看該儲存庫的詳細資料。「Activity」(活動) 分頁的狀態欄從「In progress」(進行中) 變為「Import completed」(匯入完成) 時,表示擷取作業已完成。
視資料大小而定,擷取作業可能需要數分鐘至數小時才能完成。
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:專案 ID。DATA_STORE_ID:要建立的資料儲存庫 ID。這個 ID 只能使用小寫英文字母、數字、底線和連字號。DATA_STORE_DISPLAY_NAME:要建立的資料儲存庫顯示名稱。
選用:如要設定文件剖析功能,或為 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:專案的 ID。DATA_STORE_ID:資料儲存庫的 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之下,您必須為服務帳戶service-<project number>@gcp-sa-discoveryengine.iam.gserviceaccount.com授予 Cloud Storage bucket 的「Storage 物件檢視者」權限。舉例來說,如果您要將 Cloud Storage bucket 從來源專案「123」匯入至目的地專案「456」,請在專案「123」的 Cloud Storage bucket 下授予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 字串,Gemini Enterprise 會自動為匯入的每份文件產生 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 建議將這個欄位留空,讓 Gemini Enterprise 自動建立臨時目錄。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錯誤。請注意,
id_field指定的 JSON 欄位名稱必須為字串類型,長度介於 1 至 63 個字元之間,且必須符合 RFC-1034。否則文件會匯入失敗。
連線至 Cloud Storage 並定期同步
匯入資料前,請參閱「準備要擷取的資料」。
以下程序說明如何建立資料連接器,將 Cloud Storage 位置與 Gemini Enterprise 資料連接器建立關聯,以及如何指定該位置中的資料夾或檔案,做為要建立的資料儲存庫。資料連接器的子資料儲存庫稱為「實體」資料儲存庫。
資料會定期同步至實體資料儲存庫。你可以指定每天、每三天或每五天同步一次。
控制台
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
前往「Data Stores」(資料儲存庫) 頁面。
點選「Create Data Store」(建立資料儲存庫)。
在「Source」(來源) 頁面中,選取「Cloud Storage」。
選取要匯入的資料類型。
按一下「定期」。
選取「同步頻率」,設定 Gemini Enterprise 連接器與 Cloud Storage 位置同步的頻率。你之後可以變更頻率。
在「Select a folder or file you want to import」(選取要匯入的資料夾或檔案) 專區,選取「Folder」(資料夾) 或「File」(檔案)。
按一下「瀏覽」,選擇已準備好要擷取的資料,然後按一下「選取」。 或者,您也可以直接在
gs://欄位中輸入位置。按一下「繼續」。
選擇資料連接器的區域。
輸入資料連接器的名稱。
選用:如果選取非結構化文件,可以選取文件的剖析和分塊選項。如要比較剖析器,請參閱「剖析文件」。如要瞭解區塊劃分,請參閱「為 RAG 劃分文件區塊」。
OCR 剖析器和版面配置剖析器可能會產生額外費用。
如要選取剖析器,請展開「Document processing options」(文件處理選項),然後指定要使用的剖析器選項。
點選「建立」。
您已建立資料連接器,會定期與 Cloud Storage 位置同步資料。您也建立了名為
gcs_store的實體資料儲存庫。接著需要檢查擷取狀態,請前往「Data Stores」(資料儲存庫) 頁面,點按資料連接器名稱,即可在相應的「Data」(資料) 頁面查看該資料連接器的詳細資料
「資料擷取活動」分頁。「資料擷取活動」分頁的狀態欄從「進行中」變為「成功」時,表示首次擷取作業已完成。
視資料大小而定,可能需要數分鐘至數小時才能擷取完畢。
設定資料來源並首次匯入資料後,系統會按照您在設定期間選取的頻率,從該來源同步資料。資料連接器建立後約一小時,系統會進行首次同步處理。下次同步處理作業會在約 24、72 或 120 小時後進行。