以 Google 搜尋建立基準

本頁說明如何使用 Google 搜尋 (使用公開網路資料),為模型回覆建立基準。

如果您想將模型連結至網路中的世界知識、各種主題或最新資訊,建議利用 Google 搜尋建立基準。

如要進一步瞭解 Vertex AI 中的模型基準建立功能,請參閱「基準建立功能總覽」。

支援的模型

本節列出支援使用搜尋建立基準的型號。

支援的語言

如需支援語言清單,請參閱「語言」一文。

請參考下列操作說明,以公開網路資料建立模型基準。

注意事項

  • 如要使用「以 Google 搜尋建立基準」功能,您必須啟用 Google 搜尋建議。如要進一步瞭解如何使用 Google 搜尋建議,請參閱這篇文章

  • 為獲得最佳結果,請使用 0.0 的溫度。如要進一步瞭解如何設定這項設定,請參閱模型參考資料中的 Gemini API 要求主體

  • Grounding with Google Search 的查詢數量上限為每日一百萬項。如需進一步查詢,請與Google Cloud 支援團隊聯絡。

控制台

如要透過 Vertex AI Studio 使用「Grounding with Google Search」,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前�����Vertex AI Studio」頁面。

    前往 Vertex AI Studio

  2. 按一下「任意形式」Freeform分頁標籤。
  3. 在側邊面板中,按一下「Ground model responses」切換鈕。
  4. 按一下「自訂」,然後將 Google 搜尋設為來源。
  5. 在文字方塊中輸入提示,然後點選「提交」

提示回覆現在會連結至 Google 搜尋。

Gen AI SDK for 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,
    GoogleSearch,
    HttpOptions,
    Tool,
)

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

response = client.models.generate_content(
    model="gemini-2.5-flash-preview-05-20",
    contents="When is the next total solar eclipse in the United States?",
    config=GenerateContentConfig(
        tools=[
            # Use Google Search Tool
            Tool(google_search=GoogleSearch())
        ],
    ),
)

print(response.text)
# Example response:
# 'The next total solar eclipse in the United States will occur on ...'

Gen AI SDK for Go

瞭解如何安裝或更新 Gen AI SDK for Go

詳情請參閱 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

import (
	"context"
	"fmt"
	"io"

	genai "google.golang.org/genai"
)

// generateWithGoogleSearch shows how to generate text using Google Search.
func generateWithGoogleSearch(w io.Writer) error {
	ctx := context.Background()

	client, err := genai.NewClient(ctx, &genai.ClientConfig{
		HTTPOptions: genai.HTTPOptions{APIVersion: "v1"},
	})
	if err != nil {
		return fmt.Errorf("failed to create genai client: %w", err)
	}

	modelName := "gemini-2.0-flash-001"
	contents := []*genai.Content{
		{Parts: []*genai.Part{
			{Text: "When is the next total solar eclipse in the United States?"},
		}},
	}
	config := &genai.GenerateContentConfig{
		Tools: []*genai.Tool{
			{GoogleSearch: &genai.GoogleSearch{}},
		},
	}

	resp, err := client.Models.GenerateContent(ctx, modelName, contents, config)
	if err != nil {
		return fmt.Errorf("failed to generate content: %w", err)
	}

	respText, err := resp.Text()
	if err != nil {
		return fmt.Errorf("failed to convert model response to text: %w", err)
	}
	fmt.Fprintln(w, respText)

	// Example response:
	// The next total solar eclipse in the United States will occur on March 30, 2033, but it will only ...

	return nil
}

REST

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

  • LOCATION:處理要求的區域。
  • PROJECT_ID:您的專案 ID
  • MODEL_ID:多模態模型的模型 ID。
  • TEXT:提示中要納入的文字指示。

HTTP 方法和網址:

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

JSON 要求主體:

{
  "contents": [{
    "role": "user",
    "parts": [{
      "text": "TEXT"
    }]
  }],
  "tools": [{
    "googleSearch": {}
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

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

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

{
  "candidates": [
    {
      "content": {
        "role": "model",
        "parts": [
          {
            "text": "The weather in Chicago this weekend, will be partly cloudy. The temperature will be between 49°F (9°C) and 55°F (13°C) on Saturday and between 51°F (11°C) and 56°F (13°C) on Sunday. There is a slight chance of rain on both days.\n"
          }
        ]
      },
      "finishReason": "STOP",
      "groundingMetadata": {
        "webSearchQueries": [
          "weather in Chicago this weekend"
        ],
        "searchEntryPoint": {
          "renderedContent": "..."
        },
        "groundingChunks": [
          {
            "web": {
              "uri": "https://www.google.com/search?q=weather+in+Chicago,+IL",
              "title": "Weather information for locality: Chicago, administrative_area: IL",
              "domain": "google.com"
            }
          },
          {
            "web": {
              "uri": "...",
              "title": "weatherbug.com",
              "domain": "weatherbug.com"
            }
          }
        ],
        "groundingSupports": [
          {
            "segment": {
              "startIndex": 85,
              "endIndex": 214,
              "text": "The temperature will be between 49°F (9°C) and 55°F (13°C) on Saturday and between 51°F (11°C) and 56°F (13°C) on Sunday."
            },
            "groundingChunkIndices": [
              0
            ],
            "confidenceScores": [
              0.8662828
            ]
          },
          {
            "segment": {
              "startIndex": 215,
              "endIndex": 261,
              "text": "There is a slight chance of rain on both days."
            },
            "groundingChunkIndices": [
              1,
              0
            ],
            "confidenceScores": [
              0.62836814,
              0.6488607
            ]
          }
        ],
        "retrievalMetadata": {}
      }
    }
  ],
  "usageMetadata": {
    "promptTokenCount": 10,
    "candidatesTokenCount": 98,
    "totalTokenCount": 108,
    "trafficType": "ON_DEMAND",
    "promptTokensDetails": [
      {
        "modality": "TEXT",
        "tokenCount": 10
      }
    ],
    "candidatesTokensDetails": [
      {
        "modality": "TEXT",
        "tokenCount": 98
      }
    ]
  },
  "modelVersion": "gemini-2.0-flash",
  "createTime": "2025-05-19T14:42:55.000643Z",
  "responseId": "b0MraIMFoqnf-Q-D66G4BQ"
}

瞭解回應

如果模型提示從 Vertex AI Studio 或 API 成功連結至 Google 搜尋,回覆就會包含含有來源連結 (網址) 的中繼資料。不過,有幾種原因可能導致系統無法提供這類中繼資料,因此提示回覆內容將無法建立基礎。這些原因包括來源相關性偏低,或是模型回應中資訊不完整。

接地支援

建議您顯示接地支援,因為這有助於驗證發布者的回應,並提供進一���������的������。

對於來自 Google 搜尋來源的回覆,應同時顯示內嵌和匯總的回覆基準。例如,請參考下圖,瞭解如何執行這項操作。

基準支援範例

使用其他搜尋引擎選項

客戶使用 Google 搜尋的 Grounding 功能,並不表示客戶無法提供其他搜尋引擎選項、將其他搜尋選項設為客戶應用程式的預設選項,或在客戶應用程式中顯示自己的搜尋建議或搜尋結果,前提是任何這類非 Google 搜尋服務或相關結果,都必須與 Grounded 結果和搜尋建議分開顯示,且不得合理歸因於 Google 提供的結果,或與 Google 提供的結果混淆。

優點

以下是需要規劃、推理和思考的複雜提示和工作流程,您可以使用 Google 搜尋做為工具來完成:

  • 您可以設定參照資料,確保回覆內容是根據最新且最準確的資訊。
  • 您可以從網路擷取構件來進行分析。
  • 您可以找到相關圖片、影片或其他媒體,協助多模態推理或工作產生。
  • 您可以進行程式設計、技術疑難排解和其他專業工作。
  • 你可以查看特定區域的資訊,或協助正確翻譯內容。
  • 你可以找到相關網站來瀏覽。

後續步驟