Configura la registrazione 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 Google Cloud console o un'API.

Limitazioni

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

  • Per impostazione predefinita, i log di Gemini Code Assist vengono raccolti per progetto. Per istruzioni su come configurare un progetto centralizzato per raccogliere i log da più progetti, consulta Configurare il logging per più progetti.

  • Gemini Code Assist su GitHub non supporta il logging con Cloud Logging.

Prima di iniziare

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

Verificare le autorizzazioni IAM

Per configurare il logging di Gemini Code Assist, devi disporre di autorizzazioni IAM specifiche. Per rispettare il principio del privilegio minimo, concedi un ruolo personalizzato che contenga solo le autorizzazioni necessarie.

Chiedi all'amministratore di creare un ruolo personalizzato che includa le seguenti autorizzazioni:

  • serviceusage.services.enable: per abilitare le API per il tuo progetto.
  • cloudaicompanion.loggingSettings.create: per creare le impostazioni di logging.
  • cloudaicompanion.loggingSettings.get: per visualizzare le impostazioni di logging.
  • cloudaicompanion.loggingSettings.list: per elencare le impostazioni di logging.
  • cloudaicompanion.loggingSettings.update: per aggiornare le impostazioni di logging.
  • cloudaicompanion.loggingSettingBindings.create: per associare le impostazioni di logging a un progetto.
  • cloudaicompanion.loggingSettingBindings.get: per visualizzare le associazioni delle impostazioni di logging.
  • cloudaicompanion.loggingSettingBindings.list: per elencare le associazioni delle impostazioni di logging.

In alternativa, puoi concedere i ruoli predefiniti Amministratore delle impostazioni di Gemini in Google Cloud (roles/cloudaicompanion.settingsAdmin) e Amministratore di Service Usage (roles/serviceusage.serviceUsageAdmin). Tuttavia, questi ruoli includono le autorizzazioni per configurare altre impostazioni di amministratore di Gemini in Google Cloud e gestire l'utilizzo del servizio in Google Cloud, che potrebbero essere più di quelle necessarie per configurare le impostazioni di logging.

Configurare il logging di Gemini Code Assist

Le sezioni seguenti forniscono i passaggi necessari per abilitare la raccolta e l'archiviazione dell'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, come input utente, informazioni contestuali e risposte.

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

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

Abilitare il logging per Gemini Code Assist in un progetto

Seleziona una delle seguenti opzioni:

Console

  1. Verifica di aver abilitato l' API **Cloud Logging** nel progetto.

  2. Nella Google Cloud console, vai alla pagina Amministrazione per Gemini.

    Vai ad Amministrazione per Gemini

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

  4. (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.

  5. (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.

  6. Fai clic su Salva modifiche.

API

Per abilitare il logging per Gemini Code Assist Standard ed Enterprise, utilizza la risorsa loggingSettings per definire le impostazioni di logging che vuoi e la risorsa loggingSettings.settingBindings per associare le impostazioni a un progetto:

  1. Verifica di aver abilitato l'API Cloud Logging nel progetto.

  2. Crea l'impostazione e un valore specifico per l'impostazione:

    1. Ottieni il token:

      TOKEN=$(gcloud auth print-access-token)
      
  3. Abilita i log di Gemini Code Assist Standard ed Enterprise. I log utente e i log di metadati sono abilitati rispettivamente con i campi log_prompts_and_responses e log_metadata. Se non vuoi abilitare uno dei campi, escludilo dalla richiesta.

    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,
          "log_metadata": true,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=LOGS_SETTING_ID"
      

      Sostituisci quanto segue:

      • CONTAINER_PROJECT_NAME: inserisci l'ID progetto del progetto in cui è archiviata la risorsa di associazione. Questo è il progetto padre dell'associazione.
      • LOGS_SETTING_ID: inserisci un nome di impostazione univoco, ad esempio gcalm.

      Se il comando ha esito positivo, restituisce un corpo della risposta che mostra log_prompts_and_responses e log_metadata impostati su true:

      {
        "name": "projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings/LOGS_SETTING_ID",
        "createTime": "2025-01-23T15:22:49.717166932Z",
        "updateTime": "2025-01-23T15:22:49.717166932Z",
        "log_prompts_and_responses": true,
        "log_metadata": true
      }
      
    2. Esegui il comando seguente per creare l'associazione delle impostazioni dei log 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/LOGS_SETTING_ID/settingBindings?setting_binding_id=LOGS_BINDING_ID"
      

    Sostituisci quanto segue:

    • TARGET_PROJECT_NAME: inserisci il progetto di destinazione a cui deve essere associata l'associazione. Spesso è lo stesso del progetto contenitore. Tuttavia, puoi associare un'impostazione a più progetti in modo che la risorsa di impostazione non debba essere duplicata.
    • LOGS_BINDING_ID: utilizza lo stesso LOGS_SETTING_ID quando hai creato l'impostazione, ma aggiungici b1. Ad esempio, utilizza gcalmb1.

    Se il comando ha esito positivo, 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>LOGS_SETTING_ID</var>/settingBindings/<var>LOGS_BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    

Disabilitare il logging per Gemini Code Assist in un progetto

Seleziona una delle seguenti opzioni:

Console

  1. Nella Google Cloud console, vai alla pagina Amministrazione per Gemini.

    Vai ad Amministrazione per Gemini

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

  3. 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.

  4. Fai clic su Salva modifiche.

API

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

  1. Crea l'impostazione e un valore specifico per l'impostazione:

    1. Ottieni il token:

      TOKEN=$(gcloud auth print-access-token)
      
  2. Esegui il comando seguente per disabilitare le impostazioni dei log 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,
          "log_metadata": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=LOGS_SETTING_ID"
    

    Sostituisci quanto segue:

    • CONTAINER_PROJECT_NAME: inserisci l'ID progetto padre.
    • LOGS_SETTING_ID: inserisci il nome dell'impostazione esistente, ad esempio gcalm.

      Se il comando ha esito positivo, restituisce un corpo della risposta che mostra log_prompts_and_responses e log_metadata impostati su false:

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

Configurare il logging per più progetti

Puoi utilizzare i log di Gemini Code Assist per creare metriche e dashboard per monitorare l'utilizzo per progetto. Se la tua organizzazione ha più progetti, puoi configurare un progetto di logging centralizzato per raccogliere i log da più progetti e generare dashboard in questi progetti.

Creare un progetto di logging centralizzato

Questo progetto fungerà da hub per i log degli altri progetti.

  1. Nella Google Cloud console, vai alla pagina Creazione progetto.

    Vai a Crea progetto

  2. Nella finestra Nuovo progetto, inserisci i valori per i seguenti campi:

    • Nome progetto: un nome per il progetto di logging centralizzato.
    • Account di fatturazione: seleziona un account di fatturazione.
    • Organizzazione: seleziona la tua organizzazione. Un progetto centralizzato può raccogliere i log solo dai progetti della stessa organizzazione.
    • Località: seleziona una località.
  3. Fai clic su Crea.

Configurare i sink di log

Per indirizzare i log al progetto centralizzato, configura i sink di log in ognuno dei singoli progetti da cui vuoi raccogliere i log.

Per configurare i sink di log per ogni progetto:

  1. Nella Google Cloud console, passa a un progetto da cui vuoi raccogliere i log da.
  2. Vai alla pagina Router dei log:

    Vai al router dei log

  3. Fai clic su Crea sink.

  4. In Dettagli sink, inserisci un nome e una descrizione per il sink, quindi fai clic su Avanti.

  5. In Destinazione sink, procedi come segue:

    1. Nel menu Seleziona il servizio sink, seleziona Bucket di Logging.
    2. Nel menu Bucket di log, seleziona Usa un bucket di log in un altro progetto.
    3. Nel campo Destinazione sink, inserisci quanto segue:

      logging.googleapis.com/projects/CENTRALIZED_PROJECT_ID/locations/global/buckets/_Default
      

      Sostituisci CENTRALIZED_PROJECT_ID con l'ID progetto del progetto di logging centralizzato che hai creato.

    4. Fai clic su Avanti.

  6. In Scegli i log da includere nel sink, crea un filtro di inclusione inserendo quanto segue nel campo Filtro di inclusione: