您可以透過兩種方式,從 Cloud Storage 資料表建立資料存放區:
一次性擷取:將 Cloud Storage 資料夾或檔案中的資料匯入資料儲存庫。除非手動重新整理資料,否則資料存放區中的資料不會變更。
定期擷取:從 Cloud Storage 資料夾或檔案匯入資料,並設定同步頻率,決定資料儲存庫更新 Cloud Storage 位置最新資料的頻率。
下表比較了將 Cloud Storage 資料匯入 Gemini Enterprise 資料存放區的兩種方式。
單次擷取 | 定期擷取 |
---|---|
正式發布 (GA)。 | 公開預先發布版。 |
資料必須手動重新整理。 | 資料會每 1、3 或 5 天自動更新一次。資料無法手動重新整理。 |
Gemini Enterprise 會從 Cloud Storage 中的單一資料夾或檔案建立資料儲存庫。 | Gemini Enterprise 會建立資料連接器,並將資料儲存庫 (稱為「實體」資料儲存庫) 與指定檔案或資料夾建立關聯。每個 Cloud Storage 資料連接器只能有一個實體資料存放區。 |
您可以先從一個 Cloud Storage 位置擷取資料,然後從另一個位置擷取更多資料,將多個檔案、資料夾和 bucket 的資料合併到一個資料存放區。 | 由於系統不支援手動匯入資料,實體資料儲存庫中的資料只能來自一個 Cloud Storage 檔案或資料夾。 |
支援資料來源存取控管。詳情請參閱「資料來源存取控管」。 | 不支援資料來源存取控管。匯入的資料可能包含存取權控管機制,但系統不會採用這些機制。 |
您可以使用Google Cloud 控制台或 API 建立資料儲存庫。 | 您必須使用控制台建立資料連接器及其實體資料儲存庫。 |
符合 CMEK 規定。 | 符合 CMEK 規定。 |
從 Cloud Storage 匯入一次
如要從 Cloud Storage 擷取資料,請按照下列步驟,使用 Google Cloud 控制台或 API 建立資料儲存庫並擷取資料。
匯入資料前,請先參閱「為資料擷取作業做準備」。
控制台
如要透過控制台從 Cloud Storage 值區擷取資料,請按照下列步驟操作:
前往 Google Cloud 控制台的「Gemini Enterprise」頁面。
前往「Data Stores」(資料儲存庫) 頁面。
點選「Create Data Store」(建立資料儲存庫)。
在「Select a data source」(選取資料來源) 頁面中,選取「Cloud Storage」。
在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」。
按一下「瀏覽」,然後選擇已準備好要擷取的資料,再按一下「選取」。 或者,直接在
gs://
欄位中輸入位置。選取要匯入的資料類型。
按一下「繼續」。
如果只匯入一次結構化資料:
將欄位對應至主要屬性。
如果結構定義缺少重要欄位,請使用「新增欄位」新增。
詳情請參閱「關於自動偵測和編輯」。
按一下「繼續」。
選擇資料儲存庫的區域。
輸入資料儲存庫的名稱。
選用:如果選取非結構化文件,可以為文件選取剖析和分塊選項。如要比較剖析器,請參閱「剖析文件」。如要瞭解如何將文件分塊,請參閱「將文件分塊以供 RAG 使用」。
OCR 剖析器和版面配置剖析器可能會產生額外費用。
如要選取剖析器,請展開「文件處理選項」,然後指定要使用的剖析器選項。
點選「建立」。
接著需要檢查擷取狀態,請前往「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
下方,您需要為 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 字串直接放在每行中,格式必須一致,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」(建立資料儲存庫)。
在「來源」頁面中,選取「Cloud Storage」。
選取要匯入的資料類型。
按一下「週期性」。
選取「同步處理頻率」,設定 Gemini Enterprise 連接器與 Cloud Storage 位置同步的頻率。日後可以變更頻率。
在「選取要匯入的資料夾或檔案」部分,選取「資料夾」或「檔案」。
按一下「瀏覽」,然後選擇已準備好要擷取的資料,再按一下「選取」。 或者,直接在
gs://
欄位中輸入位置。按一下「繼續」。
選擇資料連接器的區域。
輸入資料連接器的名稱。
選用:如果選取非結構化文件,可以為文件選取剖析和分塊選項。如要比較剖析器,請參閱「剖析文件」。如要瞭解如何將文件分塊,請參閱「將文件分塊以供 RAG 使用」。
OCR 剖析器和版面配置剖析器可能會產生額外費用。
如要選取剖析器,請展開「文件處理選項」,然後指定要使用的剖析器選項。
點選「建立」。
您已建立資料連接器,該連接器會定期與 Cloud Storage 位置同步處理資料。您也建立了名為
gcs_store
的實體資料儲存庫。如要檢查擷取狀態,請前往「Data Stores」(資料儲存庫) 頁面,點按資料連接器名稱,即可在相應的「Data」(資料) 頁面查看該資料連接器的詳細資料。
「資料擷取活動」分頁標籤。「資料擷取活動」分頁的狀態欄從「進行中」變為「成功」時,表示首次擷取作業已完成。
視資料大小而定,可能需要數分鐘至數小時才能擷取完畢。
設定資料來源並首次匯入資料後,系統會按照您在設定期間選取的頻率,從該來源同步資料。建立資料連接器後約一小時,系統就會進行首次同步。下一次同步處理會在 24 小時、72 小時或 120 小時後進行。