企業通常會自行建構自訂應用程式,如要讓 Gemini Enterprise 連線至這些自訂應用程式中的資料來源,請先準備資料。資料準備方式取決於從自訂資料來源匯入的資料類型,以及您選擇的匯入方式。首先,請選擇要匯入的資料類型:
如要瞭解混合搜尋的限制 (可將多個資料儲存庫連結至單一應用程式),請參閱「About connecting multiple data stores」(關於連結多個資料儲存庫) 一節。
非結構化資料
Gemini Enterprise 支援搜尋 HTML、含嵌入文字的 PDF 和 TXT 格式文件。預先發布版支援 PPTX 和 DOCX 格式。
下表列出不同設定下各檔案類型的檔案大小限制 (詳情請參閱「剖析及分塊處理文件」)。一次最多可匯入 100,000 個檔案。
檔案類型 | 預設匯入 |
---|---|
文字型檔案,例如 HTML、TXT、JSON、XHTML 和 XML | < 200 MB |
PPTX、DOCX 和 XLSX | < 200 MB |
< 200 MB |
如要將嵌入內容納入非結構化資料,請參閱「使用自訂嵌入內容」。
如果 PDF 無法搜尋 (掃描的 PDF 或內含圖片文字的 PDF,例如資訊圖表),建議在建立資料儲存庫時開啟版面配置剖析器。Gemini Enterprise 就能擷取文字區塊和表格等元素。如果可搜尋的 PDF 主要是由機器可讀取的文字組成,且包含許多表格,建議開啟 OCR 處理功能,並啟用機器可讀取的文字選項,以提升偵測和剖析效果。詳情請參閱「剖析及分塊處理文件」。
如要使用 Gemini Enterprise 進行檢索增強生成 (RAG),請在建立資料儲存庫時啟用文件分塊功能。詳情請參閱「剖析及分塊處理文件」。
您可以從下列來源匯入非結構化資料:
Cloud Storage
您可以使用 Google Cloud 控制台、ImportDocuments
方法,或透過 CRUD 方法串流擷取,從 Cloud Storage 匯入含或不含中繼資料的資料。如需 API 參考資料,請參閱 DocumentService
和 documents
。
資料匯入作業是遞迴的。也就是說,如果值區或指定資料夾內有其他資料夾,系統會匯入這些資料夾中的檔案。
如果您打算從 Cloud Storage 匯入文件,但沒有中繼資料,請直接將文件放入 Cloud Storage 值區。文件 ID 是中繼資料的範例。
如要進行測試,可以使用下列公開的 Cloud Storage 資料夾,其中包含 PDF 檔案:
gs://cloud-samples-data/gen-app-builder/search/alphabet-investor-pdfs
gs://cloud-samples-data/gen-app-builder/search/CUAD_v1
gs://cloud-samples-data/gen-app-builder/search/kaiser-health-surveys
gs://cloud-samples-data/gen-app-builder/search/stanford-cs-224
如果您打算從 Cloud Storage 匯入含有中繼資料的資料,請將含有中繼資料的 JSON 檔案放入 Cloud Storage bucket,並在匯入時提供該 bucket 的位置。
非結構化文件可以與中繼資料位於同一個 Cloud Storage 值區,也可以位於不同的值區。
中繼資料檔案必須是 JSON Lines 或 NDJSON 檔案。文件 ID 是中繼資料的例子。中繼資料檔案的每一列都必須採用下列其中一種 JSON 格式:
使用
jsonData
:{ "id": "<your-id>", "jsonData": "<JSON string>", "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
使用
structData
:{ "id": "<your-id>", "structData": { <JSON object> }, "content": { "mimeType": "<application/pdf or text/html>", "uri": "gs://<your-gcs-bucket>/directory/filename.pdf" } }
使用每一列的 uri
欄位,指向文件的 Cloud Storage 位置。
以下是非結構化文件的 NDJSON 中繼資料檔案範例。在這個範例中,中繼資料檔案的每一行都指向一個 PDF 文件,並包含該文件的中繼資料。前兩行使用 jsonData
,後兩行使用 structData
。使用 structData
時,您不需要逸出引號內的引號。
{"id":"doc-0","jsonData":"{\"title\":\"test_doc_0\",\"description\":\"This document uses a blue color theme\",\"color_theme\":\"blue\"}","content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_0.pdf"}}
{"id":"doc-1","jsonData":"{\"title\":\"test_doc_1\",\"description\":\"This document uses a green color theme\",\"color_theme\":\"green\"}","content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_1.pdf"}}
{"id":"doc-2","structData":{"title":"test_doc_2","description":"This document uses a red color theme","color_theme":"red"},"content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_3.pdf"}}
{"id":"doc-3","structData":{"title":"test_doc_3","description":"This is document uses a yellow color theme","color_theme":"yellow"},"content":{"mimeType":"application/pdf","uri":"gs://test-bucket-12345678/test_doc_4.pdf"}}
如要建立資料儲存庫,請參閱「連結 Google 資料來源」。
BigQuery
如要從 BigQuery 匯入中繼資料,請按照下列步驟操作:
建立包含中繼資料的 BigQuery 資料表。 文件 ID 是中繼資料的例子。
將非結構化文件放入 Cloud Storage bucket。
您可以透過 Google Cloud console、
ImportDocuments
方法匯入,或透過 CRUD 方法串流擷取。如需 API 參考資料,請參閱DocumentService
和documents
。
請使用下列 BigQuery 結構定義。使用每筆記錄中的 uri
欄位,指向文件的 Cloud Storage 位置。
[
{
"name": "id",
"mode": "REQUIRED",
"type": "STRING",
"fields": []
},
{
"name": "jsonData",
"mode": "NULLABLE",
"type": "STRING",
"fields": []
},
{
"name": "content",
"type": "RECORD",
"mode": "NULLABLE",
"fields": [
{
"name": "mimeType",
"type": "STRING",
"mode": "NULLABLE"
},
{
"name": "uri",
"type": "STRING",
"mode": "NULLABLE"
}
]
}
]
詳情請參閱 BigQuery 說明文件中的「建立及使用資料表」。
如要建立資料儲存庫,請參閱「連結 Google 資料來源」。
Google 雲端硬碟
搜尋功能支援同步處理 Google 雲端硬碟中的資料。
如要從 Google 雲端硬碟匯入資料,必須在 Gemini Enterprise 中將 Google Identity 設為識別資訊提供者。如要瞭解如何設定存取控管機制,請參閱「身分和權限」。
如要建立資料儲存庫,請參閱「連結 Google 資料來源」。
結構化資料
根據您打算使用的匯入方法準備資料。
您可以從下列來源匯入結構化資料:
從 BigQuery 或 Cloud Storage 匯入結構化資料時,您可以選擇匯入資料和中繼資料。(含有中繼資料的結構化資料也稱為強化結構化資料)。
BigQuery
您可以從 BigQuery 資料集匯入結構化資料。
系統會自動偵測結構定義。匯入後,Google 建議您編輯自動偵測到的結構定義,以便對應重要屬性,例如名稱。如果您使用 API (而非 Google Cloud 主控台) 匯入,可以選擇以 JSON 物件的形式提供自己的結構定義。詳情請參閱「提供或自動偵測結構定義」。
如需可公開取得的結構化資料範例,請參閱 BigQuery 公開資料集。
如要在結構化資料中加入嵌入,請參閱「使用自訂嵌入」。
如果選取匯入含中繼資料的結構化資料,請在 BigQuery 資料表中加入兩個欄位:
id
欄位,用於識別文件。如果匯入結構化資料時沒有中繼資料,系統會為您產生id
。加入中繼資料可讓您指定id
的值。包含資料的
jsonData
欄位。如需jsonData
字串的範例,請參閱前一節「Cloud Storage」。
如要匯入含有中繼資料的結構化資料,請使用下列 BigQuery 結構定義:
[
{
"name": "id",
"mode": "REQUIRED",
"type": "STRING",
"fields": []
},
{
"name": "jsonData",
"mode": "NULLABLE",
"type": "STRING",
"fields": []
}
]
如要建立資料儲存庫,請參閱「連結 Google 資料來源」。
Cloud Storage
Cloud Storage 中的結構化資料必須採用 JSON Lines 或 NDJSON 格式。每個檔案的大小不得超過 2 GB,單一匯入要求最多可匯入 1,000 個檔案。
如需公開提供的結構化資料範例,請參閱 Cloud Storage 中的下列資料夾,其中包含 NDJSON 檔案:
gs://cloud-samples-data/gen-app-builder/search/kaggle_movies
gs://cloud-samples-data/gen-app-builder/search/austin_311
如要在結構化資料中加入嵌入,請參閱「使用自訂嵌入」。
以下是結構化資料的 NDJSON 中繼資料檔案範例。檔案中的每一行代表一個文件,並由一組欄位組成。
{"id": 10001, "title": "Hotel 1", "location": {"address": "1600 Amphitheatre Parkway, Mountain View, CA 94043"}, "available_date": "2024-02-10", "non_smoking": true, "rating": 3.7, "room_types": ["Deluxe", "Single", "Suite"]}
{"id": 10002, "title": "Hotel 2", "location": {"address": "Manhattan, New York, NY 10001"}, "available_date": "2023-07-10", "non_smoking": false, "rating": 5.0, "room_types": ["Deluxe", "Double", "Suite"]}
{"id": 10003, "title": "Hotel 3", "location": {"address": "Moffett Park, Sunnyvale, CA 94089"}, "available_date": "2023-06-24", "non_smoking": true, "rating": 2.5, "room_types": ["Double", "Penthouse", "Suite"]}
如要建立資料儲存庫,請參閱「連結 Google 資料來源」。
本機 JSON 資料
您可以使用 API 直接上傳 JSON 文件或物件。
Google 建議您以 JSON 物件的形式提供自己的結構定義,以獲得更出色的結果。如果您未提供自己的結構定義,系統會自動偵測結構定義。匯入後,建議您編輯自動偵測到的結構定義,以便對應重要屬性,例如標題。詳情請參閱「提供或自動偵測結構定義」。
如要在結構化資料中加入嵌入,請參閱「使用自訂嵌入」。
如要建立資料儲存庫,請參閱「連結 Google 資料來源」。