利用 Vertex AI Search 建立基準

本頁說明如何使用 Vertex AI Search 的資料,為回覆內容建立基準。

根據您的資料建立 Gemini 基準

如要執行檢索增強生成 (RAG),請將模型連結至網站資料或文件集,然後使用 Vertex AI Search 建立基準

以自有資料建立基準最多支援 10 個 Vertex AI Search 資料來源,且可與利用 Google 搜尋建立基準搭配使用。

支援的模型

本節列出支援以資料為基礎的基礎模型。

必要條件

如要使用自有資料做為模型輸出內容的基準,請先完成下列步驟:

  1. 前往 Google Cloud 控制台的「IAM」頁面,然後搜尋 discoveryengine.servingConfigs.search 權限,這是基礎服務運作的必要權限。

    前往「IAM」頁面

    如要取得使用 Vertex AI Search 基礎功能所需的權限,請要求管理員授予下列 IAM 角色:

    • 如要讀取所有 Discovery Engine 資源:Discovery Engine 檢視者 (roles/discoveryengine.viewer)。

    • 如要讀取及寫入所有 Discovery Engine 資源,並建立 Vertex AI Search 執行個體,請使用「Discovery Engine 編輯者」(roles/discoveryengine.editor)。

    如要進一步瞭解 IAM,請參閱「IAM 角色和權限」。

  2. 啟用 AI Applications 並啟動 API。

  3. 建立 AI 應用程式資料來源和應用程式。

    詳情請參閱 Vertex AI Search 簡介

啟用 AI Applications

如要使用 Vertex AI Search 建立回覆基準,請按照下列步驟啟用 Vertex AI Search 服務:

  1. 前往 Google Cloud 控制台的「AI Applications」頁面。

    前往「AI 應用程式」

  2. 選用:查看資料使用條款

AI Applications 適用於 global 位置或 euus 多地區。詳情請參閱「AI Applications 地區」。

在 AI Applications 中建立資料儲存庫

如要在 AI 應用程式中建立資料儲存庫,您可以選擇以網站資料或文件做為回覆基準。

網站

  1. 從 Google Cloud 控制台開啟「建立資料儲存庫」頁面。

  2. 在「網站內容」方塊中,按一下「選取」
    系統會顯示「為資料儲存庫指定網站」窗格。

  3. 如果「進階網站索引建立功能」未勾選,請選取「進階網站索引建立功能」核取方塊,將其開啟。
    「設定資料儲存庫」窗格隨即顯示。

  4. 在「指定要建立索引的網址模式」部分,完成下列操作:

    • 新增「要包含的網站」網址。
    • 選用:新增要排除的網站網址。
  5. 按一下「繼續」

  6. 在「設定資料儲存庫」窗格中,

    1. 從「資料儲存庫位置」清單中選取值。
    2. 在「Your data store name」(資料儲存庫名稱) 欄位中輸入名稱。系統會產生 ID。使用資料儲存庫生成有根據的回覆時,請使用這個 ID。詳情請參閱「使用資料存放區產生以資料為依據的回覆」。
    3. 點選「建立」

文件

  1. 從 Google Cloud 控制台開啟「建立資料儲存庫」頁面。

  2. 在「Cloud Storage」方塊中,按一下「選取」
    「從 Cloud Storage 匯入資料」窗格隨即顯示。

  3. 在「非結構化文件 (PDF、HTML 和 TXT 等)」部分,選取「非結構化文件 (PDF、HTML 和 TXT 等)」

  4. 選取「同步處理頻率」選項。

  5. 選取「Select a folder or a file you want to import」(選取要匯入的資料夾或檔案) 選項,然後在欄位中輸入路徑。

  6. 按一下「繼續」
    系統會顯示「設定資料儲存庫」窗格。

  7. 在「設定資料儲存庫」窗格中,

    1. 從「資料儲存庫位置」清單中選取值。
    2. 在「Your data store name」(資料儲存庫名稱) 欄位中輸入名稱。系統會產生 ID。
    3. 如要為文件選取剖析和分塊選項,請展開「文件處理選項」部分。如要進一步瞭解不同剖析器,請參閱「剖析文件」。
    4. 點選「建立」
  8. 點選「建立」

根據資料儲存庫生成有憑有據的回覆

請按照下列操作說明,使用資料做為模型基礎。最多支援 10 個資料儲存區。

如果不知道資料儲存庫 ID,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「AI Applications」頁面,然後點按導覽選單中的「Data Stores」(資料儲存庫)

    前往「資料儲存庫」頁面

  2. 點按資料儲存庫的名稱。

  3. 在資料儲存庫的「資料」頁面中,取得資料儲存庫 ID。

控制台

如要使用Google Cloud 控制台中的 Vertex AI Studio,將模型輸出內容與 AI 應用程式連結,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Vertex AI Studio」頁面。

    前往 Vertex AI Studio

  2. 如要啟用接地功能,請按照下列步驟操作:
    1. 按一下導覽選單中的「+ 新增」和「即時通訊」
    2. 展開「模型設定」窗格,然後選取模型。
    3. 選用:如果「結構化輸出」或「基礎: Google」切換鈕已開啟,請關閉該選項。
    4. 按一下「建立基準:您的資料」切換鈕。「自訂依據設定」窗格隨即顯示。
      1. 從下表選取依據來源選項:
      2. 接地選項 說明 輸入內容
        Vertex AI RAG 引擎 以自有資料和 DIY 元件建立基準。 如果沒有語料庫,請先建立一個。否則請輸入語料庫。
        Vertex AI Search 使用 Google代管搜尋引擎,以自有資料建立基準。 在「Vertex AI 資料儲存庫路徑」欄位中輸入路徑。
        Elasticsearch 使用 Elasticsearch 建立基準。 輸入下列資訊:
        1. 在「Elasticsearch 端點」欄位中輸入值。
        2. 在「Elasticsearch API 金鑰」欄位中輸入值。
        3. 在「Elasticsearch index」(Elasticsearch 索引) 欄位中輸入值。
        4. 在「Elasticsearch 搜尋範本」欄位中輸入值。
      3. 按一下 [儲存]
  3. 在文字方塊中輸入提示詞,然後按一下「提交」。提示回覆內容以 AI 應用程式為依據。

Python

安裝

pip install --upgrade google-genai

詳情請參閱 SDK 參考說明文件

設定環境變數,透過 Vertex AI 使用 Gen AI SDK:

# Replace the `GOOGLE_CLOUD_PROJECT` and `GOOGLE_CLOUD_LOCATION` values
# with appropriate values for your project.
export GOOGLE_CLOUD_PROJECT=GOOGLE_CLOUD_PROJECT
export GOOGLE_CLOUD_LOCATION=global
export GOOGLE_GENAI_USE_VERTEXAI=True

from google import genai
from google.genai.types import (
    GenerateContentConfig,
    VertexAISearch,
    Retrieval,
    Tool,
    HttpOptions,
)

client = genai.Client(http_options=HttpOptions(api_version="v1"))

# Replace with your Vertex AI Search data store details
DATASTORE_PATH = "projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID"

tool = Tool(
    retrieval=Retrieval(
        vertex_ai_search=VertexAISearch(
            datastore=DATASTORE_PATH
        )
    )
)

response = client.models.generate_content(
    model="gemini-2.5-flash",  # Or another supported model
    contents="What information can you find about topic X in the provided documents?", # Your query
    config=GenerateContentConfig(
        tools=[tool],
    ),
)

print(response.text)

REST

如要使用 Vertex AI API 測試文字提示,請將 POST 要求傳送至發布商模型端點。

使用任何要求資料之前,請先替換以下項目:

  • LOCATION:處理要求的區域。如要使用 global 端點,請從端點名稱中排除位置,並將資源位置設為 global
  • PROJECT_ID:您的專案 ID
  • MODEL_ID:多模態模型的模型 ID。
  • PROMPT:要傳送給模型的提示。

HTTP 方法和網址:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent

JSON 要求主體:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "PROMPT"
    }]
  }],
  "tools": [{
    "retrieval": {
      "vertexAiSearch": {
        "datastore": projects/PROJECT_ID/locations/global/collections/default_collection/dataStores/DATASTORE_ID
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

請展開以下其中一個選項,以傳送要求:

您應該會收到如下的 JSON 回覆:

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "You can make an appointment on the website https://dmv.gov/"
          }
        ]
      },
      "finishReason": "STOP",
      "safetyRatings": [
        "..."
      ],
      "groundingMetadata": {
        "retrievalQueries": [
          "How to make appointment to renew driving license?"
        ],
        "groundingChunks": [
          {
            "retrievedContext": {
              "uri": "https://vertexaisearch.cloud.google.com/grounding-api-redirect/AXiHM.....QTN92V5ePQ==",
              "title": "dmv"
            }
          }
        ],
        "groundingSupport": [
          {
            "segment": {
              "startIndex": 25,
              "endIndex": 147
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1, 2],
            "confidenceScore": [0.9541752, 0.97726375]
          },
          {
            "segment": {
              "startIndex": 294,
              "endIndex": 439
            },
            "segment_text": "ipsum lorem ...",
            "supportChunkIndices": [1],
            "confidenceScore": [0.9541752, 0.9325467]
          }
        ]
      }
    }
  ],
  "usageMetadata": {
    "..."
  }
}

瞭解回覆內容

這兩個 API 的回覆都會包含 LLM 生成的文字,稱為「候選項目」。如果模型提示成功參照資料來源,回覆就會包含參照中繼資料,指出回覆中哪些部分是從資料衍生而來。不過,這類中繼資料可能因多種原因而未提供,導致系統無法根據中繼資料生成提示回應。可能原因包括來源關聯性低,或是模型回覆中資訊不完整。

輸出資料的細目如下:

  • 角色:指出已建立基準答案的傳送者。由於回覆一律包含有根據的文字,因此角色一律為 model
  • 文字:LLM 生成的依據資料答案。
  • 建立基準中繼資料:建立基準來源的相關資訊,包含下列元素:
    • 基礎塊:索引中的結果清單,可支援答案。
    • 建立基準支援:答案中特定主張的相關資訊,可用於顯示引文:
    • 區段:模型答案中由基礎塊證明的內容。
    • 基礎事實區塊索引:基礎事實區塊清單中的基礎事實區塊索引,對應這項聲明。
    • 信心分數:介於 0 到 1 之間的數字,表示聲明在所提供的基準區塊集中有多可靠。不適用於 Gemini 2.5 以上版本。

後續步驟

  • 如要瞭解如何傳送即時通訊提示要求,請參閱多輪對話
  • 如要瞭解負責任的 AI 最佳做法和 Vertex AI 的安全篩選器,請參閱「安全最佳做法」。