借助 Google 搜索接地

本页介绍了如何使用 Google 搜索(它使用公开的网络数据)为模型的回答建立依据。

如果您想将模型与世界知识、各种主题或互联网上的最新信息相连接,请使用“借助 Google 搜索接地”功能。

“依托 Google 搜索进行接地”功能支持动态检索,让您可以选择使用 Google 搜索生成接地回答。因此,动态检索配置会评估提示是否需要了解近期活动,并启用“依托 Google 搜索进行接地”功能。如需了解详情,请参阅动态检索

如需详细了解 Vertex AI 中的模型接地功能,请参阅接地概览

支持的模型

本部分列出了支持使用 Google 搜索进行接地的模型。如需了解每种模型是如何生成有依据的回答的,请按照以下说明操作:

  1. 在 Google Cloud 控制台中试用此表中列出的模型。

  2. 点击接地切换开关,将其切换到开启位置。

型号 说明 试用模型
Gemini 2.0 Flash

文本、代码、图片、音频、视频、带音频的视频、PDF

不支持动态检索。如需了解详情,请参阅注意事项

试用 Gemini 2.0 Flash 模型
Gemini 1.5 Pro
仅限文本输入 试用 Gemini 1.5 Pro 模型
Gemini 1.5 Flash
仅限文本输入 试用 Gemini 1.5 Flash 模型

支持的语言

如需查看支持的语言列表,请参阅语言

按照以下说明借助公开提供的网络数据让模型接地。

动态检索

您可以在请求中使用动态检索功能,选择何时停用“依托 Google 搜索进行接地”。如果提示不需要依托 Google 搜索的回答,并且受支持的模型可以根据自己的知识提供回答,而不依托 Google 搜索,这项设置非常有用。这有助于您更有效地管理延迟时间、质量和费用。

在请求中调用动态检索配置之前,请先了解以下术语:

  • 预测得分:当您请求基于事实的回答时,Vertex AI 会为问题分配预测得分。预测得分是一个介于 [0,1] 范围内的浮点值。其价值取决于问题是否能从使用 Google 搜索中的最新信息来回答中受益。因此,如果问题要求回答基于网络上最新的事实,则预测得分会更高。如果模型生成的回答足以回答提示,则预测得分较低。

    下面是一些问题及其预测得分示例。

    提示 预测分数 评论
    “写一首关于牡丹的诗歌” 0.13 模型可以依赖自己的知识,并且答案不需要“接地”
    “为 2 岁儿童推荐玩具” 0.36 模型可以依赖自己的知识,并且答案不需要“接地”
    “您能提供亚洲风味的鳄梨酱食谱吗?” 0.55 Google 搜索可以给出依据充分的回答,但建立依据并非绝对必要;模型知识可能已经足够
    “什么是 Agent Builder?How is grounding billed in Agent Builder?" 0.72 要求 Google 搜索生成有依据的回答
    “谁赢得了最新的 F1 大奖赛?” 0.97 要求 Google 搜索生成有依据的回答
  • 阈值:在请求中,您可以指定带有阈值的动态检索配置。阈值是一个在 [0,1] 范围内的浮点值,默认为 0.7。如果阈值为零,则回答始终“依托 Google 搜索进行接地”。对于所有其他阈值,请遵循以下规则:

    • 如果预测得分大于或等于阈值,则系统会根据 Google 搜索来回答问题。阈值越低,就表示有更多提示的回答是使用“与 Google 搜索对话”功能生成的。
    • 如果预测得分低于阈值,模型可能仍会生成回答,但不会依托 Google 搜索进行接地。

为了找到适合您业务需求的阈值,您可以创建一组代表您预计会遇到的查询。然后,您可以根据响应中的预测得分对查询进行排序,并为您的用例选择合适的阈值。

注意事项

  • 如需使用“依托 Google 搜索进行接地”,您必须启用 Google 搜索建议。如需了解详情,请参阅 Google 搜索建议

  • 为了获得理想的结果,请使用 0.0 温度。如需详细了解如何设置此配置,请参阅模型参考文档中的 Gemini API 请求正文

  • “借助 Google 搜索接地”功能的查询次数上限为每天 100 万次。如果您有其他问题,请与 Google Cloud 支持团队联系寻求帮助。

  • 只有 Gemini 1.0 和 Gemini 1.5 模型支持动态检索。Gemini 2.0 模型不支持动态检索。

Gen AI SDK for Python

安装

pip install --upgrade google-genai
如需了解详情,请参阅 SDK 参考文档

设置环境变量以将 Gen AI SDK 与 Vertex AI 搭配使用:

# 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=us-central1
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.0-flash-001",
    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 ...'

控制台

如需将“使用 Google 搜索建立依据”与 Vertex AI Studio 搭配使用,请按照以下步骤操作:

  1. 在 Google Cloud 控制台中,前往 Vertex AI Studio 页面。

    进入 Vertex AI Studio

  2. 点击自由形式标签页。
  3. 在侧边栏中,点击对模型回答进行归因切换开关。
  4. 点击自定义,并将 Google 搜索设置为来源。
  5. 在文本框中输入提示,然后点击提交

您的提示回答现在会以 Google 搜索为基础。

REST

在使用任何请求数据之前,请先进行以下替换:

  • LOCATION:处理请求的区域。
  • PROJECT_ID:您的项目 ID
  • MODEL_ID:多模态模型的模型 ID。 Gemini 2.0 及更高版本的模型不支持动态检索。
  • TEXT:要包含在提示中的文本说明。
  • DYNAMIC_THRESHOLD:可选字段,用于设置调用动态检索配置的阈值。该值是一个介于 [0,1] 范围内的浮点值。如果您未设置 dynamicThreshold 字段,则阈值默认为 0.7。

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": "TEXT"
    }]
  }],
  "tools": [{
    "googleSearchRetrieval": {
      "dynamicRetrievalConfig": {
        "mode": "MODE_DYNAMIC",
        "dynamicThreshold": DYNAMIC_THRESHOLD
      }
    }
  }],
  "model": "projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID"
}

如需发送您的请求,请展开以下选项之一:

您应该收到类似以下内容的 JSON 响应:

{
   "candidates": [
     {
       "content": {
         "role": "model",
         "parts": [
           {
             "text": "Chicago weather changes rapidly, so layers let you adjust easily. Consider a base layer, a warm mid-layer (sweater-fleece), and a weatherproof outer layer."
           }
         ]
       },
       "finishReason": "STOP",
       "safetyRatings":[
       "..."
    ],
       "groundingMetadata": {
         "webSearchQueries": [
           "What's the weather in Chicago this weekend?"
         ],
         "searchEntryPoint": {
            "renderedContent": "....................."
         }
         "groundingSupports": [
            {
              "segment": {
                "startIndex": 0,
                "endIndex": 65,
                "text": "Chicago weather changes rapidly, so layers let you adjust easily."
              },
              "groundingChunkIndices": [
                0
              ],
              "confidenceScores": [
                0.99
              ]
            },
          ]
          "retrievalMetadata": {
              "webDynamicRetrievalScore": 0.96879
            }
       }
     }
   ],
   "usageMetadata": { "..."
   }
 }

理解回答

如果您的模型提示从 Vertex AI Studio 或 API 成功连接到 Google 搜索,则回答会包含带有来源链接(网址)的元数据。但是,有多种原因可能会导致此元数据无法提供,并且提示回答不会落地。这些原因包括模型回答中的来源相关性低或信息不完整。

引用

强烈建议显示引用。可帮助用户验证发布方自身的回答,并为用户提供更多学习途径。

对来自 Google 搜索来源的回答的引用应以内嵌和汇总形式显示。请参阅下图,了解如何执行此操作。

引用示例

使用备用搜索引擎选项

客户使用“与 Google 搜索一起使用”功能并不妨碍客户提供备选搜索引擎选项、将备选搜索选项设为客户应用的默认选项,或在客户应用中显示自己的搜索建议或搜索结果或第三方搜索建议或搜索结果,前提是任何此类非 Google 搜索服务或关联结果都与基于 Google 搜索的结果和搜索建议分开显示,并且无法合理归因于 Google 或与 Google 提供的结果混淆。

后续步骤