Configurare il logging di Gemini Code Assist Standard ed Enterprise

Questo documento descrive come configurare il logging di Gemini Code Assist Standard ed Enterprise per un progetto utilizzando la console API di Google o un'API.

Limitazioni

La registrazione dei dati dei log di Gemini Standard ed Enterprise in Google Cloud è limitata alle interazioni degli utenti con Gemini Code Assist all'interno dell'IDE.

Inoltre, Gemini per Google Cloud non registra i dati per Gemini Code Assist Standard ed Enterprise se la telemetria di VS Code viene disattivata dall'utente.

Prima di iniziare

Assicurati che il progetto Google Cloud sia collegato a un account di fatturazione.

(Facoltativo) Concedi autorizzazioni IAM

Per configurare il logging di Gemini Code Assist Standard ed Enterprise, devi disporre di autorizzazioni Identity and Access Management specifiche, descritte nella sezione seguente. Assicurati che queste autorizzazioni vengano aggiunte ai ruoli IAM personalizzati.

In alternativa, puoi concedere il ruolo IAM predefinito Gemini for Google Cloud Settings Admin (roles/cloudaicompanion.settingsAdmin), che include tutte le autorizzazioni obbligatorie necessarie per lavorare con tutte le impostazioni di amministrazione di Gemini for Google Cloud.

(Facoltativo) Associa le autorizzazioni a impostazioni e target

Se stai configurando le impostazioni di amministratore di Gemini Code Assist Standard ed Enterprise nella console API di Google, puoi saltare questa sezione.

Per configurare le impostazioni di amministrazione di Gemini Code Assist Standard ed Enterprise con l'API Gemini for Google Cloud, devi prima creare le impostazioni, quindi le associazioni per "associare" queste impostazioni e i target (ad esempio istanze, argomenti o progetti) per prodotti specifici (ad esempio Gemini Cloud Assist o Gemini Code Assist).

Tutte le autorizzazioni per creare e aggiornare le impostazioni sono a livello di progetto.

Configurare il logging di Gemini Code Assist

Le sezioni seguenti descrivono i passaggi necessari per attivare la raccolta e la memorizzazione delle attività di Gemini Code Assist Standard ed Enterprise in Cloud Logging, tra cui:

  • Log di prompt e risposte di Gemini Code Assist Standard ed Enterprise, ad esempio input utente, informazioni contestuali e risposte.

  • Log dei metadati di Gemini Code Assist Standard ed Enterprise, come i metadati della telemetria e le righe di codice accettate dall'utente.

Per maggiori dettagli su entrambi i tipi di log, consulta Visualizzare i log di Gemini.

Attivare il logging per Gemini Code Assist

Seleziona una delle seguenti opzioni:

Console

  1. Assicurati di aver attivato l'API Cloud Logging nel progetto.

  2. Assicurati di disporre delle seguenti autorizzazioni di Identity and Access Management sul progetto proprietario dell'abbonamento:

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  3. Nella console API, vai alla pagina Amministrazione di Gemini.

    Vai a Gemini per Google Cloud

    Viene caricata la pagina Gemini for Google Cloud.

  4. Fai clic su Impostazioni nel menu di navigazione a sinistra.

    Viene caricata la pagina Impostazioni.

  5. (Facoltativo) Fai clic su Logging per i metadati di Code Assist per registrare i metadati generati dagli utenti di Gemini Code Assist Standard ed Enterprise nel progetto.

  6. (Facoltativo) Fai clic su Logging per prompt e risposte di Code Assist per registrare i prompt e le risposte generati dagli utenti di Gemini Code Assist Standard ed Enterprise nel progetto.

  7. Fai clic su Salva modifiche.

API

Per attivare il logging per Gemini Code Assist Standard ed Enterprise, utilizza il metodo loggingSetting.

  1. Assicurati di aver attivato l'API Cloud Logging nel progetto.

  2. Assicurati di disporre delle seguenti autorizzazioni di Identity and Access Management sul progetto proprietario dell'abbonamento:

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  3. Crea l'impostazione e un valore specifico per l'impostazione:

    1. Ottieni il token:

      TOKEN=$(gcloud auth print-access-token)
      
  4. Attiva i log dei metadati di Gemini Code Assist Standard ed Enterprise.

    1. Esegui il comando seguente per creare l'impostazione:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_metadata": true,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
      

      Sostituisci quanto segue:

      • CONTAINER_PROJECT_NAME: inserisci l'ID progetto principale.
      • SETTING_ID: inserisci un nome univoco per l'impostazione, ad esempio gcalm1 per Gemini Code Assist log metadata.

      Se il comando va a buon fine, restituisce un corpo della risposta che mostra log_metadata impostato su true:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_metadata": true
      }
      
    2. Esegui il seguente comando per creare il binding delle impostazioni dei log dei metadati di Gemini Code Assist Standard ed Enterprise:

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

    Sostituisci quanto segue:

    • TARGET_PROJECT_NAME: inserisci il progetto di destinazione a cui deve essere applicata l'impostazione.
    • SETTING_ID: utilizza lo stesso SETTING_ID quando hai creato l'impostazione, ma aggiungi b1. Ad esempio, utilizza gcalmb1 per Gemini Code Assist log metadata.

    Se il comando va a buon fine, restituisce i metadati dell'operazione nel seguente formato:

    {
      "name": "projects/<var>CONTAINER_PROJECT_NAME</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_NAME</var>/locations/global/loggingSettings/<var>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    
  5. Attiva i log degli utenti di Gemini Code Assist Standard ed Enterprise.

    1. Esegui il comando seguente per creare l'impostazione:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_prompts_and_responses": true,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
      

      Sostituisci quanto segue:

      • CONTAINER_PROJECT_NAME: inserisci l'ID progetto principale.
      • SETTING_ID: inserisci un nome univoco per l'impostazione, ad esempio gcapar1 per Gemini Code Assist prompts and responses.

      Se il comando va a buon fine, restituisce un corpo della risposta che mostra log_prompts_and_responses impostato su true:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": true
      }
      
    2. Esegui il comando seguente per creare il binding delle impostazioni dei log utente di Gemini Code Assist Standard ed Enterprise:

      curl \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "target": "projects/TARGET_PROJECT_NAME"
          }' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID/settingBindings?setting_binding_id=BINDING_ID"
      

    Sostituisci quanto segue:

    • TARGET_PROJECT_NAME: inserisci il progetto di destinazione a cui deve essere applicata l'impostazione.
    • SETTING_ID: utilizza lo stesso SETTING_ID quando hai creato l'impostazione, ma aggiungi b1. Ad esempio, utilizza gcaparb1 per Gemini Code Assist prompts and responses.

    Se il comando va a buon fine, restituisce i metadati dell'operazione nel seguente formato:

    {
      "name": "projects/<var>CONTAINER_PROJECT_NAME</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_NAME</var>/locations/global/loggingSettings/<var>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

Disattivare il logging per Gemini Code Assist

Seleziona una delle seguenti opzioni:

Console

  1. Assicurati di disporre delle seguenti autorizzazioni di Identity and Access Management sul progetto proprietario dell'abbonamento:

    • loggingSettings.delete
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsDelete
    • cloudaicompanion.settingBindings.loggingSettingsUse
    • cloudaicompanion.instances.queryEffectiveSettingBindings
  2. Nella console API, vai alla pagina Amministrazione di Gemini.

    Vai a Gemini per Google Cloud

    Viene caricata la pagina Gemini for Google Cloud.

  3. Fai clic su Impostazioni nel menu di navigazione a sinistra.

    Viene caricata la pagina Impostazioni.

  4. Fai clic su Logging per i metadati di Code Assist per disattivare la registrazione dei metadati relativi all'utilizzo di Gemini Code Assist Standard ed Enterprise nel progetto.

  5. Fai clic su Salva modifiche.

API

Per attivare il logging per Gemini Code Assist Standard ed Enterprise, utilizza il metodo loggingSetting.

  1. Assicurati di disporre delle seguenti autorizzazioni di Identity and Access Management sul progetto proprietario dell'abbonamento:

    • loggingSettings.create
    • loggingSettings.list
    • loggingSettings.update
    • loggingSettings.get
    • cloudaicompanion.instances.loggingSettings.use
    • cloudaicompanion.instances.queryEffectiveSetting
    • settingBindings.loggingSettingsList
    • settingBindings.loggingSettingsGet
    • settingBindings.loggingSettingsUpdate
    • settingBindings.loggingSettingsCreate
    • serviceusage.services.enable
  2. Crea l'impostazione e un valore specifico per l'impostazione:

    1. Ottieni il token:

      TOKEN=$(gcloud auth print-access-token)
      
  3. Esegui il seguente comando per disattivare l'impostazione Log dei metadati di Gemini Code Assist Standard ed Enterprise:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_metadata": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=SETTING_ID"
    

    Sostituisci quanto segue:

    • CONTAINER_PROJECT_NAME: inserisci l'ID progetto principale.
    • SETTING_ID: inserisci il nome dell'impostazione esistente, ad esempio gcalm1 per Gemini Code Assist log metadata.

      Se il comando va a buon fine, restituisce un corpo della risposta che mostra log_metadata impostato su false:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_metadata": false
      }
      
  4. Esegui il seguente comando per disattivare l'impostazione dei log utente di Gemini Code Assist Standard ed Enterprise:

      curl -X POST \
        -H "Authorization: Bearer $TOKEN" \
        -H 'Content-Type: application/json' \
        -d '{
          "log_prompts_and_responses": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
    

    Sostituisci quanto segue:

    • CONTAINER_PROJECT_NAME: inserisci l'ID progetto principale.
    • SETTING_ID: inserisci il nome dell'impostazione esistente, ad esempio gcapar1 per Gemini Code Assist prompts and responses.

      Se il comando va a buon fine, restituisce un corpo della risposta che mostra log_prompts_and_responses impostato su false:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": false
      }
      

Passaggi successivi