Configure os canais de lançamento do Gemini Code Assist

Este documento descreve como configurar os canais de lançamento do Gemini Code Assist para um projeto através da Google Cloud consola ou de uma API.

Lançamos funcionalidades do Gemini Code Assist em diferentes canais de lançamento. Pode definir cada Google Cloud projeto para um único canal de lançamento consoante o equilíbrio escolhido entre a disponibilidade e a estabilidade das funcionalidades. Os utilizadores na sua organização que usam o Gemini Code Assist no respetivo IDE local podem usar funcionalidades e modelos baseados no canal de lançamento configurado para o projeto.

Estão disponíveis os seguintes lançamentos de canais:

  • Disponível de forma geral. O canal de lançamento predefinido. Permite-lhe usar modelos e funcionalidades geralmente disponíveis. Tenha em atenção que é possível aceder a determinadas funcionalidades de pré-visualização sem aderir ao canal de pré-visualização, através de mecanismos alternativos de inscrição na pré-visualização. Estas funcionalidades vão estar acessíveis no canal de DG, mas continuam abrangidas pelos Termos da Oferta de Pré-DG.
  • Pré-visualizar. Permite-lhe aceder a determinadas funcionalidades de pré-visualização do Gemini Code Assist e, opcionalmente, fornecer feedback e dados de utilização para ajudar a Google a melhorar os lançamentos futuros. Tenha em atenção que, atualmente, não existem funcionalidades distintas no canal de lançamento de pré-visualização.

    Quando ativa o canal de lançamento de pré-visualização num projeto, concorda em nome do cliente que toda a utilização do Gemini Code Assist nesse projeto está sujeita aos Termos da Oferta de Pré-DG dos Google Cloud Termos de Serviço Específicos da Plataforma. Não use este canal para projetos e recursos que não sejam adequados para utilização com ofertas de pré-DG.

As secções seguintes fornecem os passos necessários para definir ou alterar o canal de lançamento do Gemini Code Assist.

Antes de começar

Funções necessárias

Para ter as autorizações necessárias para criar definições e associações que controlam o canal de lançamento, peça ao seu administrador para lhe conceder a função de administrador das definições do Gemini para o Google Cloud (roles/cloudaicompanion.settingsAdmin) no projeto.

Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

  • cloudaicompanion.releaseChannelSettings.create
  • cloudaicompanion.releaseChannelSettings.delete
  • cloudaicompanion.releaseChannelSettings.get
  • cloudaicompanion.releaseChannelSettings.list
  • cloudaicompanion.releaseChannelSettings.update
  • cloudaicompanion.dataSharingWithGoogleSettings.create
  • Configure canais de lançamento através de uma API:
    • cloudaicompanion.settingBindings.releaseChannelSettingsCreate
    • cloudaicompanion.settingBindings.releaseChannelSettingsDelete
    • cloudaicompanion.settingBindings.releaseChannelSettingsGet
    • cloudaicompanion.settingBindings.releaseChannelSettingsList
    • cloudaicompanion.settingBindings.releaseChannelSettingsUpdate
    • cloudaicompanion.settingBindings.releaseChannelSettingsUse
  • Configure a partilha de comandos e respostas através de uma API:
    • cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsCreate
    • cloudaicompanion.settingBindings.dataSharingWithGoogleSettingsUse
  • Veja as definições de administrador do Gemini para o Google Cloud :
    • cloudaicompanion.instances.queryEffectiveSetting
    • cloudaicompanion.instances.queryEffectiveSettingBindings

Configure os canais de lançamento do Gemini Code Assist

Selecione uma das seguintes opções:

Consola

  1. Na Google Cloud consola, aceda à página Administração do Gemini.

    Aceder ao Gemini para Google Cloud

    A página Gemini para o Google Cloud é carregada.

  2. Clique em Definições no menu de navegação.

    A página Definições é carregada.

  3. Na secção Canais de lançamento do Gemini Code Assist em IDEs locais, selecione o canal de lançamento mais adequado às suas necessidades:

    Pré-visualização

    1. Selecione Pré-visualizar.
    2. Reveja os detalhes do canal de lançamento de pré-visualização e os termos do programa de testadores fidedignos e, de seguida, clique em Guardar alterações.

    Disponível de forma geral

    1. Selecione GA.
    2. Clique em Guardar alterações.

API

  1. Crie a definição do canal de lançamento e um valor específico da definição:

    1. Obtenha um token de autenticação. Tem de se autenticar através da autenticação da CLI gcloud para a obter:

      TOKEN=$(gcloud auth print-access-token)
      
    2. Crie a definição. Estas instruções usam cURL para chamar métodos da 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"
      

      Substitua o seguinte:

      • RELEASE_CHANNEL: o canal de lançamento, EXPERIMENTAL para pré-visualização ou STABLE para disponibilidade geral.
      • CONTAINER_PROJECT_NAME: o ID do projeto do projeto onde o recurso de associação está armazenado. Este é o projeto principal da associação.
      • RC_SETTING_ID: um nome de definição exclusivo, por exemplo, rc1 para Release Channel.

      O resultado mostra o releaseChannel definido como 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. Crie a associação da definição do canal de lançamento:

        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"
      

      Substitua o seguinte:

      • TARGET_PROJECT_NAME: o projeto de destino ao qual a associação deve ser associada. Normalmente, é igual ao projeto do contentor. No entanto, pode associar uma definição a vários projetos para que o recurso de definição não tenha de ser duplicado.
      • CONTAINER_PROJECT_NAME: o ID do projeto do projeto onde o recurso de associação está armazenado. Este é o projeto principal da associação.
      • RC_SETTING_ID: o mesmo RC_SETTING_ID que usou quando criou a definição, mas com b1 anexado. Por exemplo, use rc1b1 para Release Channel.
      • RC_BINDING_ID: um nome exclusivo para a associação de definições, por exemplo, rc_binding.

      A saída inclui os metadados da operação no seguinte formato:

      {
        "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. Opcional: verifique o estado da criação da associação da definição do canal de lançamento:

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

      Substitua o seguinte:

      • CONTAINER_PROJECT_NAME: o ID do projeto do projeto onde o recurso de associação está armazenado. Este é o projeto principal da associação.
      • RC_BINDING_OPERATION_ID: o ID da operação de criação da associação da definição do canal de lançamento fornecido na resposta no passo anterior.
  2. Opcional: crie a definição de partilha de comandos e respostas, bem como um valor específico da definição:

    1. Obtenha o token:

      TOKEN=$(gcloud auth print-access-token)
      
    2. Crie a definição:

      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"
      

      Substitua o seguinte:

      • CONTAINER_PROJECT_NAME: o ID do projeto principal
      • DSWG_SETTING_ID: um nome de definição exclusivo, por exemplo, dswg1 para Data Sharing with Google

      O resultado mostra o enablePreviewDataSharing definido como 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. Crie a associação da definição de comando e resposta:

        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"
      

      Substitua o seguinte:

      • TARGET_PROJECT_NAME: o projeto de destino ao qual a definição deve ser aplicada.
      • CONTAINER_PROJECT_NAME: o ID do projeto principal.
      • DSWG_SETTING_ID: o mesmo DSWG_SETTING_ID que usou quando criou a definição, mas com b1 anexado. Por exemplo, use dswg1b1 para Data Sharing with Google.
      • DSWG_BINDING_ID: um nome exclusivo para a associação de definições, por exemplo, dswg_binding.

      A saída inclui os metadados da operação no seguinte formato:

      {
      "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. Opcional: verifique o estado da criação da associação da definição de comando e resposta:

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

      Substitua o seguinte:

      • CONTAINER_PROJECT_NAME: o ID do projeto do projeto onde o recurso de associação está armazenado. Este é o projeto principal da associação.
      • DSWG_BINDING_OPERATION_ID: o ID da operação de criação da associação da definição de comando e resposta fornecido na resposta no passo anterior.

O que se segue?