準備自訂資料來源的資料

企業通常會自行建構自訂應用程式。如要讓 Gemini Enterprise 連線至這些自訂應用程式中的資料來源,請先準備資料。資料準備方式取決於從自訂資料來源匯入的資料類型,以及您選擇的匯入方式。首先,請選擇要匯入的資料類型:

如要瞭解混合搜尋的限制 (可將多個資料儲存庫連結至單一應用程式),請參閱「About connecting multiple data stores」(關於連結多個資料儲存庫) 一節。

非結構化資料

Gemini Enterprise 支援搜尋 TXT、PDF、HTML、DOCX、PPTX、XLSX 和 XLSM 格式的文件。

下表列出不同設定下各檔案類型的檔案大小限制 (詳情請參閱「剖析及分塊處理文件」)。一次最多可匯入 100,000 個檔案。

檔案類型 預設匯入
以文字為基礎的檔案,例如 HTML、TXT、JSON、XHTML 和 XML < 200 MB
PPTX、DOCX、XLSX 和 XLSM < 200 MB
PDF < 200 MB

如果您打算在非結構化資料中加入嵌入,請參閱 Vertex AI Search 說明文件中的「使用自訂嵌入」。

如果 PDF 無法搜尋 (例如掃描的 PDF 或內含圖片文字的 PDF,如資訊圖表),建議在建立資料儲存庫時啟用版面配置剖析器。Gemini Enterprise 就能擷取文字區塊和表格等元素。如果可搜尋的 PDF 大多是由機器可讀的文字組成,且包含許多表格,建議開啟 OCR 處理功能,並啟用機器可讀文字的選項,以提升偵測和剖析效果。詳情請參閱「剖析及分塊處理文件」。

如要使用 Gemini Enterprise 進行檢索增強生成 (RAG),請在建立資料儲存庫時啟用文件分塊功能。詳情請參閱「剖析及分塊處理文件」。

您可以從下列來源匯入非結構化資料:

Cloud Storage

您可以使用 Google Cloud 控制台ImportDocuments 方法,或透過 CRUD 方法串流擷取,從 Cloud Storage 匯入含或不含中繼資料的資料。如需 API 參考資料,請參閱 DocumentServicedocuments

資料匯入作業是遞迴的。也就是說,如果值區或指定資料夾內有其他資料夾,系統會匯入這些資料夾中的檔案。

如要從 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 匯入中繼資料,請按照下列步驟操作:

  1. 建立包含中繼資料的 BigQuery 資料表。 文件 ID 是中繼資料的例子。

  2. 將非結構化文件放入 Cloud Storage bucket。

    您可以透過 Google Cloud consoleImportDocuments 方法匯入,或透過 CRUD 方法串流擷取。如需 API 參考資料,請參閱 DocumentServicedocuments

請使用下列 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 公開資料集

如要在結構化資料中加入嵌入,請參閱 Vertex AI Search 說明文件中的「使用自訂嵌入」。

如果選擇匯入含中繼資料的結構化資料,請在 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 行或 NDJSON 格式。每個檔案的大小不得超過 2 GB,且檔案的每一列不得超過 1 MB。單一匯入要求最多可匯入 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

如要在結構化資料中加入嵌入,請參閱 Vertex AI Search 說明文件中的「使用自訂嵌入」。

以下是結構化資料的 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 物件的形式提供自己的結構定義。如果您未提供自己的結構定義,系統會自動偵測結構定義。匯入後,建議您編輯自動偵測到的結構定義,對應重要屬性,例如標題。詳情請參閱「提供或自動偵測結構定義」。

如要在結構化資料中加入嵌入,請參閱 Vertex AI Search 說明文件中的「使用自訂嵌入」。

如要建立資料儲存庫,請參閱「連結 Google 資料來源」。