配置 Gemini Code Assist 发布渠道

本文档介绍了如何使用 Google API 控制台或 API 为项目配置 Gemini Code Assist 发布渠道。

我们通过不同的发布渠道发布 Gemini Code Assist 功能。您可以根据自己对功能可用性和稳定性之间的平衡要求,为每个 Google Cloud 项目设置一个发布渠道。 组织中在本地 IDE 中使用 Gemini Code Assist 的用户可以使用基于为项目配置的发布渠道的功能和模型。

您可以使用以下发布渠道:

  • 正式版。默认发布渠道。可让您使用正式版模型和功能。请注意,您也可以通过其他预览版注册机制来访问某些预览版功能,而无需选择加入预览版渠道。这些功能可在正式版渠道中使用,但仍受正式发布前产品条款的约束。
  • 预览。可让您访问 Gemini Code Assist 的某些预览版功能,并可选择性地提供反馈和使用情况数据,帮助 Google 改进未来版本。请注意,目前预览版发布渠道中没有独特的功能。

    为项目启用预览版发布渠道,即表示您代表客户同意,在该项目中使用 Gemini Code Assist 的所有情况都受《Google Cloud Platform 服务专用条款》的非正式版产品条款的约束。 请勿将此渠道用于不适合与非正式版产品搭配使用的项目和资源。

以下部分介绍了设置或更改 Gemini Code Assist 发布渠道所需的步骤。

准备工作

所需的角色

如需获得创建用于控制发布渠道的设置和绑定的所需权限,请让您的管理员为您授予项目的 Gemini for Google Cloud Settings Admin (roles/cloudaicompanion.settingsAdmin) 角色。

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

所需权限

  • cloudaicompanion.releaseChannelSettings.create
  • cloudaicompanion.releaseChannelSettings.delete
  • cloudaicompanion.releaseChannelSettings.get
  • cloudaicompanion.releaseChannelSettings.list
  • cloudaicompanion.releaseChannelSettings.update
  • cloudaicompanion.dataSharingWithGoogleSettings.create
  • 使用 API 配置发布渠道:
    • cloudaicompanion.settingBindings.releaseChannelSettingsCreate
    • cloudaicompanion.settingBindings.releaseChannelSettingsDelete
    • cloudaicompanion.settingBindings.releaseChannelSettingsGet
    • cloudaicompanion.settingBindings.releaseChannelSettingsList
    • cloudaicompanion.settingBindings.releaseChannelSettingsUpdate
    • cloudaicompanion.settingBindings.releaseChannelSettingsUse
  • 使用 API 配置提示和回答分享:
    • cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsCreate
    • cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsUse
  • 查看 Gemini for Google Cloud 管理员设置:
    • cloudaicompanion.instances.queryEffectiveSetting
    • cloudaicompanion.instances.queryEffectiveSettingBindings

配置 Gemini Code Assist 发布渠道

选择以下某个选项:

控制台

  1. 在 API 控制台中,前往 Gemini 管理中心页面。

    前往 Gemini for Google Cloud

    系统会加载 Gemini for Google Cloud 页面。

  2. 点击导航菜单中的设置

    系统会加载设置页面。

  3. 本地 IDE 中 Gemini Code Assist 的发布渠道部分,选择最符合您需求的发布渠道:

    预览

    1. 选择预览
    2. 查看预览版发布渠道详情和可信测试人员计划条款,然后点击保存更改

    正式版

    1. 选择 GA
    2. 点击保存更改

API

  1. 创建发布渠道设置及其专用值:

    1. 获取身份验证令牌。您必须使用 gcloud 身份验证进行身份验证才能获取该令牌:

      TOKEN=$(gcloud auth print-access-token)
      
    2. 创建设置。以下说明使用 cURL 调用 API 方法:

        curl -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{
            "release_channel": "RELEASE_CHANNEL",
          } ' -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/releaseChannelSettings?release_channel_setting_id=RC_SETTING_ID"
      

      替换以下内容:

      • RELEASE_CHANNEL:发布渠道,可以是 EXPERIMENTAL(预览版)或 STABLE(正式版)。
      • CONTAINER_PROJECT_NAME:存储绑定资源的项目的项目 ID。这是绑定的父级项目。
      • RC_SETTING_ID:唯一的设置名称,例如输入 rc1 作为 Release Channel 的名称。

      输出显示 releaseChannel 设置为 RELEASE_CHANNEL

      {
        "name": "projects/CONTAINER_PROJECT_NAME
      /locations/global/releaseChannelSettings/RC_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "releaseChannel": RELEASE_CHANNEL
      }
      
    3. 创建发布渠道设置绑定:

        curl \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
            "target": "projects/TARGET_PROJECT_NAME",
            "product": "GEMINI_CODE_ASSIST"
          }' \
        -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/releaseChannelSettings/RC_SETTING_ID/settingBindings?setting_binding_id=RC_BINDING_ID"
      

      替换以下内容:

      • TARGET_PROJECT_NAME:绑定的目标项目。这通常与容器项目相同。不过,您可以将某项设置绑定到多个项目,以便不必复制设置资源。
      • CONTAINER_PROJECT_NAME:存储绑定资源的项目的项目 ID。这是绑定的父级项目。
      • RC_SETTING_ID:与您创建设置时使用的 RC_SETTING_ID 相同,但附加了 b1。例如,对于 Release Channel,使用 rc1b1
      • RC_BINDING_ID:设置绑定的唯一名称,例如 rc_binding

      输出包含以下格式的操作元数据:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-RC_BINDING_OPERATION_ID",
        "metadata": {
          "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
          "createTime": "2025-01-23T15:27:50.076075570Z",
          "target": "projects/TARGET_PROJECT_NAME/locations/global/releaseChannelSettings/RC_SETTING_ID/settingBindings/RC_BINDING_ID",
          "verb": "create",
          "requestedCancellation": false,
          "apiVersion": "v1"
        },
        "done": false
      }
      
    4. 可选:检查发布渠道设置绑定创建的状态:

      curl -H "Authorization: Bearer $TOKEN" \
      https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-RC_BINDING_OPERATION_ID
      

      替换以下内容:

      • CONTAINER_PROJECT_NAME:存储绑定资源的项目的项目 ID。这是绑定的父级项目。
      • RC_BINDING_OPERATION_ID:上一步中响应中提供的发布渠道设置绑定创建操作 ID。
  2. 可选:创建提示和回答分享设置及其专用值:

    1. 获取令牌:

      TOKEN=$(gcloud auth print-access-token)
      
    2. 创建设置:

      curl -H "Authorization: Bearer $TOKEN" -H 'Content-Type: application/json' -d '{
          "enable_preview_data_sharing": true,
        } ' -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/dataSharingWithGoogleSettings?data_sharing_with_google_setting_id=DSWG_SETTING_ID"
      

      替换以下内容:

      • CONTAINER_PROJECT_NAME:父项目 ID
      • DSWG_SETTING_ID:唯一的设置名称,例如输入 dswg1 作为 Data Sharing with Google 的名称

      输出显示 enablePreviewDataSharing 设置为 true

      {
        "name": "projects/CONTAINER_PROJECT_NAME
      /locations/global/dataSharingWithGoogleSettings/DSWG_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "enablePreviewDataSharing": true
      }
      
    3. 创建提示和回答设置绑定:

        curl \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
            "target": "projects/TARGET_PROJECT_NAME",
            "product": "GEMINI_CODE_ASSIST"
          }' \
        -X POST "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/dataSharingWithGoogleSettings/DSWG_SETTING_ID/settingBindings?setting_binding_id=DSWG_BINDING_ID"
      

      替换以下内容:

      • TARGET_PROJECT_NAME:应应用该设置的目标项目。
      • CONTAINER_PROJECT_NAME:父项目 ID。
      • DSWG_SETTING_ID:与您创建设置时使用的 DSWG_SETTING_ID 相同,但附加了 b1。例如,对于 Data Sharing with Google,使用 dswg1b1
      • DSWG_BINDING_ID:设置绑定的唯一名称,例如 dswg_binding

      输出包含以下格式的操作元数据:

      {
      "name": "projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-DSWG_BINDING_OPERATION_ID",
      "metadata": {
        "@type": "type.googleapis.com/google.cloud.cloudaicompanion.v1.OperationMetadata",
        "createTime": "2025-01-23T15:27:50.076075570Z",
        "target": "projects/TARGET_PROJECT_NAME/locations/global/dataSharingWithGoogleSettings/DSWG_SETTING_ID/settingBindings/DSWG_BINDING_ID",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
      }
      
    4. 可选:检查提示和回答设置绑定创建的状态:

      curl -H "Authorization: Bearer $TOKEN" \
      https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/operations/operation-DSWG_BINDING_OPERATION_ID
      

      替换以下内容:

      • CONTAINER_PROJECT_NAME:存储绑定资源的项目的项目 ID。这是绑定的父级项目。
      • DSWG_BINDING_OPERATION_ID:上一步的响应中提供的提示和响应设置绑定创建操作 ID。