设置 Gemini Code Assist Standard 和 Enterprise

在您可以使用 Gemini Code Assist Standard 或 Enterprise 之前,您的团队需要执行本文档中所述的设置步骤:

  1. 订阅 Gemini Code Assist Standard 或 Enterprise

  2. 为贵组织中的个别用户分配许可

  3. 在 Google Cloud 项目中启用 Gemini for Google Cloud API

  4. 在 Google Cloud 项目中授予 Identity and Access Management 角色

  5. 贵组织的用户安装 Gemini Code Assist 插件,以便在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise。

购买 Gemini Code Assist 订阅

如需查看各个版本提供的功能列表,请参阅支持的功能

对于从未订阅过 Gemini Code Assist 且结算账号中没有 Gemini Code Assist 许可的新 Gemini Code Assist 客户,我们会自动将信用额度应用于第一个月,该信用额度相当于最多 50 个免费许可,无论 Gemini Code Assist 版本如何。请注意,在最初的免费版许可额度分配完毕后,您无法增加免费额度。此外,您在第一个月内无法更改 Gemini Code Assist 版本。

如果您与 Google Cloud 签订了现有合同,请在购买订阅之前与我们的销售团队联系

  1. 前往 Gemini 管理中心页面。

    前往“Gemini 管理中心”

    系统随即会打开 Gemini 管理中心页面。

  2. 选择获取 Gemini Code Assist

    请注意,如果您没有所需的 consumerprocurement.orders.place 权限,则此按钮会处于停用状态。如果与项目关联的结算账号已订阅 Gemini Code Assist,此按钮会显示为管理 Gemini Code Assist,您可以修改订阅

    系统将打开获取 Gemini Code Assist 订阅页面。

  3. 选择 Gemini Code Assist 订阅版本中,选择 Gemini Code Assist 版本。选择比较 Gemini Code Assist 各版本,查看各版本提供的功能的详细列表。

    然后选择继续

  4. 配置订阅中,填写相应字段以配置订阅,其中包括以下方面:

    • 订阅名称。
    • 订阅中的许可数量。请注意,如果您购买的是企业版,则必须至少购买 10 个许可。
    • 订阅期(按月或按年)。包年订阅可享受折扣价,并按月分期付款,而非一次性付款。
  5. 如需确认订阅,请选择继续

  6. 如果您同意相关条款,请选择我同意接受此购买的条款,然后选择确认订阅

  7. 选择下一步:管理 Gemini 许可分配

现在,您已购买 Gemini Code Assist Standard 或 Enterprise 的订阅。您现在需要管理贵组织中的 Gemini 许可分配。

分配许可

在使用 Gemini Code Assist 之前,必须向要在组织中授予访问权限的每位用户分配许可。

对于从未订阅过 Gemini Code Assist 且结算账号中没有 Gemini Code Assist 许可的新 Gemini Code Assist 客户,我们会自动将信用额度应用于第一个月,该信用额度相当于最多 50 个免费许可,无论 Gemini Code Assist 版本如何。请注意,在最初的免费版许可额度分配完毕后,您无法增加免费额度。此外,您在第一个月内无法更改 Gemini Code Assist 版本。

控制台

如需在 API 控制台中向各个用户分配 Gemini 许可,您必须对结算账号具有以下权限:

  • billing.accounts.get
  • billing.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • consumerprocurement.orders.modify
  • consumerprocurement.orders.place
  • consumerprocurement.licensePools.enumerateLicensedUsers
  • consumerprocurement.licensePools.get
  • consumerprocurement.licensePools.update
  • consumerprocurement.licensePools.assign
  • consumerprocurement.licensePools.unassign
  1. 前往 Gemini 管理中心页面。

    前往 Gemini for Google Cloud

  2. 选择要更改的订阅,然后点击修改订阅

  3. 点击分配许可。 系统会显示“用户选择”对话框。如需搜索特定用户,请在搜索框中输入其姓名。

  4. 从列表中选择一个或多个用户,然后点击下一步

  5. 选择您要为其分配许可的 Gemini 服务。

  6. 点击分配许可

API

如需使用 API 分配 Gemini 许可,请使用 billingAccounts.orders.licensePool.assign 方法

  1. 确保您对包含您要分配许可的许可池的结算账号拥有 consumerprocurement.licensePools.assign Identity and Access Management 权限。

  2. 创建一个包含以下信息的 JSON 文件:

    {
      "usernames": [
        USER_EMAILS
      ]
    }
    

    其中,USER_EMAILS 是分配许可的用户账号的逗号分隔列表。例如 "dana@example.com", "lee@example.com"

  3. 使用 cURL 调用该方法:

    curl -X POST --data-binary @JSON_FILE_NAME \
      -H "Authorization: Bearer $(gcloud auth print-access-token)" \
      -H "X-Goog-User-Project: PROJECT_ID" \
      -H "Content-Type: application/json" \
      "https://cloudcommerceconsumerprocurement.googleapis.com/v1/billingAccounts/BILLING_ACCOUNT_ID/orders/ORDER_ID/licensePool:assign/"

    替换以下内容:

    • JSON_FILE_NAME:您在第 2 步中创建的 JSON 文件的路径。
    • PROJECT_ID:项目的 ID。与 API 请求关联的配额用量和费用将计入此项目。
    • BILLING_ACCOUNT_ID:与许可池关联的结算账号的 ID。
    • ORDER_ID:订单 ID。如果您不知道订单 ID,可以通过列出与您的结算账号相关联的订单来检索该 ID。

如果成功,响应类似于以下示例:

  {}

现在,您需要在与此结算账号关联的一个或多个项目中启用 Gemini for Google Cloud API。在您至少在一个项目中启用 Gemini Code Assist 之前,用户将无法使用 Gemini Code Assist。

在 Cloud 项目中启用 Gemini for Google Cloud API

本部分介绍了在 Cloud 项目中启用 Gemini for Google Cloud API 所需的步骤。

控制台

  1. 如需启用 Gemini for Google Cloud API,请前往 Gemini for Google Cloud 页面。

    前往 Gemini for Google Cloud

  2. 在项目选择器中,选择项目。

  3. 点击启用

    页面会更新并显示状态为已启用。现在,所有拥有所需 IAM 角色的用户都可以在所选 Cloud 项目中使用 Gemini。

gcloud

如需使用本地开发环境,请安装初始化 gcloud CLI。

  1. 在项目选择器菜单中,选择项目。

  2. 使用 gcloud services enable 命令为 Gemini 启用 Gemini for Google Cloud API

    gcloud services enable cloudaicompanion.googleapis.com
    

    如果要在其他 Cloud 项目中启用 Gemini for Google Cloud API,请添加 --project 参数:

    gcloud services enable cloudaicompanion.googleapis.com --project PROJECT_ID
    

    PROJECT_ID 替换为您的 Cloud 项目 ID。

    输出类似于以下内容:

    Waiting for async operation operations/acf.2e2fcfce-8327-4984-9040-a67777082687 to complete...
    Operation finished successfully.
    

现在,所有拥有所需 IAM 角色的用户都可以在指定的 Cloud 项目中使用 Gemini for Google Cloud。

为 IDE 和 Google 之间的 API 流量配置防火墙

除了启用 Gemini for Google Cloud API 之外,防火墙后面的用户还需要允许以下 API 的流量通过:

  • oauth2.googleapis.com:用于登录 Google Cloud。
  • serviceusage.googleapis.com:用于检查用户的 Gemini Code Assist 项目是否已正确配置。
  • cloudaicompanion.googleapis.com:主要的 Gemini for Google Cloud API 端点。
  • cloudcode-pa.googleapis.com:提供 IDE 相关功能的内部 API。
  • cloudresourcemanager.googleapis.com:用于 IDE 中的项目选择器功能。如果项目在 settings.json 文件中明确配置,则可能不需要 Resource Manager API。
  • people.googleapis.com:提供对个人资料和联系人相关信息的访问权限。
  • firebaselogging-pa.googleapis.com:用于发送产品遥测数据(包括有关建议是否已被接受的事件)的内部 API。
  • feedback-pa.googleapis.com:用于 IDE 内反馈提交的内部 API。
  • apihub.googleapis.com:Cloud Code API 浏览器功能使用。
  • lh3.googleusercontent.comlh5.googleusercontent.com:用于获取用户照片。

确定 Google Cloud 默认网域的 IP 地址

如需实现 IDE 与 Google Cloud API 之间的连接,您的防火墙必须允许向 Google 的公开记录的 IP 地址范围发出 TCP 出站流量。这些范围由 Google 动态管理。

如需维护用于访问 Google Cloud 网域的 IP 地址范围列表,您有以下几种方法可选:

可选:配置 VPC Service Controls

如果贵组织有服务边界,则必须将以下资源添加到边界中:

  • Gemini for Google Cloud API
  • Gemini Code Assist API

如果您从服务边界外部使用 Gemini Code Assist Standard 或 Enterprise,则还需要修改入站政策以允许访问这些服务。

如需了解详情,请参阅为 Gemini 配置 VPC Service Controls

在 Google Cloud 项目中授予 IAM 角色

本部分介绍了向用户授予 Gemini for Google Cloud User 和 Service Usage Consumer IAM 角色所需的步骤。

控制台

  1. 如需授予使用 Gemini 所需的 IAM 角色,请前往 IAM 和管理页面。

    进入“IAM 和管理”

  2. 主账号列中,找到要向其授予 Gemini 访问权限的主账号,然后在对应的行中点击 修改主账号

  3. 修改权限窗格中,点击  添加其他角色

  4. 选择角色中,选择 Gemini for Google Cloud User

  5. 点击添加其他角色,然后选择 Service Usage Consumer

  6. 点击保存

gcloud

如需使用本地开发环境,请安装初始化 gcloud CLI。

  1. 在项目选择器菜单中,选择项目。

  2. 授予 Gemini for Google Cloud User 角色:

    gcloud projects add-iam-policy-binding PROJECT_ID \
      --member=PRINCIPAL --role=roles/cloudaicompanion.user
    

    替换以下内容:

    • PROJECT_ID:您的 Cloud 项目的 ID,例如 1234567890
    • PRINCIPAL:正文的标识符,例如 user:cloudysanfrancisco@gmail.com

    输出是一个政策绑定列表,其中包含以下内容:

    - members:
      - user:PRINCIPAL
      role: roles/cloudaicompanion.user
    
  3. 对角色 roles/serviceusage.serviceUsageConsumer 重复上一步。

如需了解详情,请参阅授予单个角色和 gcloud projects add-iam-policy-binding

被授予这些角色的所有用户都可以在指定项目的 API 控制台中访问 Gemini for Google Cloud 功能。如需了解详情,请参阅 Gemini for Google Cloud 概览

安装 Gemini Code Assist 插件

贵组织的用户在其首选受支持的 IDE 中安装 Gemini Code Assist 插件

VS Code

  1. 如需在 VS Code 中打开扩展程序视图,请点击 “扩展程序”图标 扩展程序或按 Ctrl/Cmd+Shift+X

  2. 搜索 Gemini Code Assist

  3. 点击安装

  4. 如果出现提示,请重启 VS Code。

    扩展程序成功安装后,Gemini Code Assist 会显示在活动栏中,并准备就绪。您可以在顶层应用任务栏中指定偏好设置,对 Gemini Code Assist 进行进一步配置:前往代码 > 设置 > 设置 > 扩展程序,然后搜索 Gemini Code Assist

IntelliJ

  1. 依次点击 settings IDE 和项目设置 > 插件
  2. Marketplace 标签页中,搜索 Gemini Code Assist
  3. 点击安装以安装该插件。
  4. 安装完成后,点击重启 IDE
  5. 重启 IDE 后,Gemini Code Assist 会显示在您的活动栏中。

    Gemini Code Assist 图标会显示在活动栏中。

现在,用户即可在其 IDE 中使用 Gemini Code Assist Standard 或 Enterprise。详细了解支持的功能:

请参阅以下指南,快速上手:

Gemini Code Assist 缓存信息的目录列表

下表列出了 Gemini Code Assist 用于存储扩展程序信息(例如身份验证令牌)的目录:

Windows

  • %LOCALAPPDATA%/cloud-code
  • %LOCALAPPDATA%/google-vscode-extension

macOS

  • ~/Library/Application Support/cloud-code
  • ~/Library/Application Support/google-vscode-extension

Linux

  • ~/.cache/cloud-code
  • ~/.cache/google-vscode-extension

登录 Google 并选择一个 Google Cloud 项目

用户在 IDE 中安装 Gemini Code Assist 后,需要登录其 Google 账号,如果这是他们首次在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise,则需要选择一个 Google Cloud 项目。

VS Code

如果您选择的 Google Cloud 项目尚未启用 Gemini for Google Cloud API,系统会显示一条通知,您可通过该通知在 IDE 中启用该 API。在通知窗口中选择启用该 API,为您的项目启用该 API。如需了解详情,请参阅为项目设置 Gemini Code Assist Standard 和 Enterprise

如果您希望直接在 IDE 中按照使用 Gemini Code Assist 编写代码演示进行操作,请点击启动 VS Code,然后按照演示中的步骤连接到 Google Cloud 并激活 Gemini Code Assist Standard 或 Enterprise。

启动 VS Code

否则,请按照以下步骤操作:

  1. 启动 IDE。

  2. 在活动栏中,点击 Gemini Code Assist

  3. Gemini Code Assist 对话窗格中,点击登录 Google Cloud

  4. 在系统提示您允许 Gemini Code Assist 打开外部网站时,点击打开

  5. 按照提示登录您的 Google 账号。

  6. 当系统询问您是否从 Google 下载了 Gemini Code Assist 时,请点击登录

    您现已连接到 Google Cloud。

    接下来,如需选择已启用 Gemini for Google Cloud API 的 Google Cloud 项目,请按以下步骤操作:

  7. Gemini Code Assist 状态栏中,点击 Gemini Code Assist

    Gemini 状态栏显示可用。

  8. Gemini Code Assist 菜单中,选择选择 Gemini Code 项目

  9. 选择已启用 Gemini for Google Cloud API 的 Google Cloud 项目。

    Gemini Code Assist Standard 或 Enterprise 已准备就绪。

    状态栏中的 Gemini 图标已设置为正常状态。

IntelliJ

如需登录您的 Google 账号,请按以下步骤操作:

  1. 在活动栏中,点击 spark Gemini Code Assist

  2. 点击登录 Google

  3. 在网络浏览器中打开的页面上,选择您的 Google 账号。

  4. 在要求您确保您是从 Google 下载此应用的屏幕上,点击登录

    Gemini Code Assist 已获得访问您账号的授权。

    接下来,如果这是您首次在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise,请按以下步骤选择一个 Google Cloud 项目:

  5. 返回您的 IDE。在 Gemini Code Assist 工具窗口中,如果您同意允许 Google 代表您为所选项目启用 Gemini Code Assist 所需的 API,请点击选择 GCP 项目以继续。

  6. 选择 Google Cloud 项目对话框中,搜索并选择您的 Google Cloud 项目,然后点击确定

  7. 点击完成

您已选择 Google Cloud 项目,并启用了 Gemini Code Assist API。您已准备好在 IDE 中使用 Gemini Code Assist Standard 或 Enterprise!

高级设置任务

您可以执行以下任一操作,而不是使用 API 控制台或 gcloud 授予预定义的 IAM 角色:

  • 使用 IAM REST APIIAM 客户端库授予角色。

    如果您使用这些接口,请使用完全限定的角色名称:

    • roles/cloudaicompanion.user
    • roles/serviceusage.serviceUsageConsumer

    如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

  • 创建和授予自定义角色。

    您创建的任何自定义角色都需要以下权限,才能访问 Gemini Code Assist Standard 和 Enterprise:

    • cloudaicompanion.companions.generateChat
    • cloudaicompanion.companions.generateCode
    • cloudaicompanion.instances.completeCode
    • cloudaicompanion.instances.completeTask
    • cloudaicompanion.instances.generateCode
    • cloudaicompanion.instances.generateText
    • cloudaicompanion.instances.exportMetrics
    • cloudaicompanion.instances.queryEffectiveSetting
    • cloudaicompanion.instances.queryEffectiveSettingBindings
    • serviceusage.services.enable
  • 分配和管理许可。

    您创建的任何自定义角色都需要以下权限,才能分配和管理 Gemini Code Assist 许可:

    • consumerprocurement.orders.get
    • consumerprocurement.orders.licensePools..*
    • consumerprocurement.orders.licensePools.update
    • consumerprocurement.orders.licensePools.get
    • consumerprocurement.orders.licensePools.assign
    • consumerprocurement.orders.licensePools.unassign
    • consumerprocurement.orders.licensePools.enumerateLicensedUsers

另请注意,要想让上述任一权限正常运行,您需要在已分配各项权限的同一 Google Cloud 项目中启用 Gemini for Google Cloud API。

后续步骤