为 Gemini Cloud Assist 配置接地

本文档介绍了如何使用 Google Cloud 控制台或 API 为 Gemini Cloud Assist 配置事实依据。依据由 Vertex AI 提供。

可用的接地类型:

  • 依托 Google 搜索进行接地(推荐):指示 Gemini Cloud Assist 使用 Google 搜索来提供最全面、最新的回答。请注意,此选项不支持数据驻留、Access Transparency 和客户管理的加密密钥 (CMEK) 等特定产品。

  • 适用于企业的 Web 接地:利用受限的 Web 内容子集。虽然与依托 Google 搜索进行接地相比,这可能会导致回答质量降低,但对于需要严格遵守数据驻留法规的行业(例如金融、医疗保健和公共部门),这是首选选项。

默认情况下,Gemini Cloud Assist 会使用“依托 Google 搜索实现接地”功能来提高回答提示的质量。使用“依托 Google 搜索进行接地”功能时,系统会以特殊方式处理您的提示和回答,如Google Cloud 服务条款中所述。

准备工作

  1. 验证您的 Google Cloud 项目是否已关联结算账号。

  2. 如需获得为 Gemini Cloud Assist 配置建立依据所需的权限,请让您的管理员为您授予项目的 Gemini for Google Cloud Settings Admin (roles/cloudaicompanion.settingsAdmin) Identity and Access Management (IAM) 角色。此预定义角色包含管理 Gemini Cloud Assist 管理员设置所需的权限。

    如需查看所需的确切权限,请展开所需权限部分:

    所需权限

    • cloudaicompanion.geminiGcpEnablementSettings.create
    • cloudaicompanion.geminiGcpEnablementSettings.update
    • cloudaicompanion.settingBindings.geminiGcpEnablementSettingsCreate
    • cloudaicompanion.settingBindings.geminiGcpEnablementSettingsUse
      • 如果您使用的是直接 API 请求,则必须为 TARGET_PROJECT 提供此权限。

    如果您使用的是 Google Cloud 控制台,则还需要以下权限:

    • cloudaicompanion.instance.queryEffectiveSetting
    • cloudaicompanion.instance.queryEffectiveSettingBindings
    • cloudaicompanion.geminiGcpEnablementSettings.get
    • cloudaicompanion.settingBindings.geminiGcpEnablementSettingsGet
    • settingBindings.geminiGcpEnablementSettingsUpdate

您可以使用其他预定义角色自定义角色来获取这些权限。

为 Gemini Cloud Assist 配置接地

从下列选项中选择一项:

控制台

  1. 在 Google Cloud 控制台中,前往 Gemini Cloud Assist,然后点击设置

    转到“设置”

  2. 选择要使用的接地选项。

  3. 点击保存

API

如需使用 API 为 Gemini Cloud Assist 配置事实依据,请使用 geminiGcpEnablementSettings.create 方法创建定义事实依据类型的 geminiGcpEnablementSettings 资源。然后,您可以使用关联的 settingBindings.create 方法将设置绑定到项目,从而应用该设置。

  1. 设置项及其专用值:

    1. 获取身份验证令牌

      TOKEN=$(gcloud auth print-access-token)
      

      如需详细了解身份验证,请参阅使用 REST 时进行身份验证

    2. 运行以下命令以创建设置:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "webGroundingType": GROUNDING_TYPE
          }' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT/locations/global/geminiGcpEnablementSettings?geminiGcpEnablementSettingId=GROUNDING_SETTING_ID"
      

      替换以下内容:

      • CONTAINER_PROJECT:存储设置数据的项目的项目 ID。
      • GROUNDING_TYPE:基础类型,可以是 GROUNDING_WITH_GOOGLE_SEARCHWEB_GROUNDING_FOR_ENTERPRISE
      • GROUNDING_SETTING_ID:用于标识此特定设置数据的唯一名称,例如 gt1

      如果命令成功,则会返回一个回答正文,其中显示 webGroundingType 已设置为您选择的值:

      {
        "name": "projects/CONTAINER_PROJECT/locations/global/geminiGcpEnablementSettings/GROUNDING_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "webGroundingType": GROUNDING_TYPE
      }
      
  2. 创建设置绑定:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "target": "projects/TARGET_PROJECT",
          "product": "GEMINI_CLOUD_ASSIST"
          }' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT/locations/global/geminiGcpEnablementSettings/GROUNDING_SETTING_ID/settingBindings?settingBindingId=GROUNDING_BINDING_ID"
    

    替换以下内容:

    • TARGET_PROJECT:应应用该设置的项目的项目 ID。通常,目标项目和容器项目是同一项目。
    • CONTAINER_PROJECT:存储设置数据的项目的项目 ID。
    • GROUNDING_SETTING_ID:您在创建设置时指定的 GROUNDING_SETTING_ID
    • GROUNDING_BINDING_ID:用于标识此特定设置绑定资源的唯一 ID,例如 b1

    如果命令成功,则会采用以下格式返回操作元数据:

    {
      "name": "projects/<var>CONTAINER_PROJECT</var>/locations/global/operations/operation-1737646069712-62c6140bb04bb-49261230-43701daf",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
        "createTime": "2025-01-23T15:27:50.076075570Z",
        "target": "projects/<var>TARGET_PROJECT</var>/locations/global/geminiGcpEnablementSettings/<var>GROUNDING_SETTING_ID</var>/settingBindings/<var>GROUNDING_BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

后续步骤