Konfigurowanie rejestrowania Gemini Code Assist Standard i Enterprise

Ten dokument opisuje, jak skonfigurować logowanie Gemini Code Assist w wersji Standard i Enterprise w projekcie za pomocą konsoli interfejsów API Google lub interfejsu API.

Ograniczenia

Rejestrowanie danych dzienników w przypadku Gemini Standard i Enterprise w Google Cloud jest ograniczone do interakcji użytkownika z Gemini Code Assist w IDE.

Dodatkowo Gemini for Google Cloud nie rejestruje danych w przypadku Gemini Code Assist w wersji Standard i Enterprise, jeśli użytkownik wyłączy telemetrię VS Code.

Zanim zaczniesz

Sprawdź, czy Twój projekt Google Cloud jest połączony z kontem rozliczeniowym.

(Opcjonalnie) Przyznaj uprawnienia

Aby skonfigurować logowanie Gemini Code Assist w wersji Standard i Enterprise, musisz mieć określone uprawnienia Identity and Access Management, które są szczegółowo opisane w kolejnych sekcjach. Upewnij się, że te uprawnienia są dodane do niestandardowych ról uprawnień.

Możesz też przyznać wstępnie zdefiniowaną rolę uprawnień Administrator ustawień Gemini w Google Cloud (roles/cloudaicompanion.settingsAdmin), która obejmuje wszystkie wymagane uprawnienia potrzebne do pracy ze wszystkimi ustawieniami administratora Gemini w Google Cloud.

Konfigurowanie logowania Gemini Code Assist

W sekcjach poniżej znajdziesz instrukcje, jak włączyć zbieranie i przechowywanie danych o aktywności w Gemini Code Assist Standard i Enterprise w Cloud Logging, w tym:

  • logi promptów i odpowiedzi Gemini Code Assist w wersjach Standard i Enterprise, takie jak dane wejściowe użytkownika, informacje kontekstowe i odpowiedzi;

  • logi metadanych Gemini Code Assist Standard i Enterprise, takie jak metadane telemetryczne i wiersze kodu zaakceptowane przez użytkownika;

Więcej informacji o obu typach dzienników znajdziesz w artykule Wyświetlanie dzienników Gemini.

Włączanie logowania w Gemini Code Assist

Wybierz jedną z tych opcji:

Konsola

  1. Sprawdź, czy w projekcie włączony jest interfejs API Cloud Logging.

  2. Sprawdź, czy masz w projekcie, do którego należy subskrypcja, te uprawnienia w zakresie zarządzania tożsamością i dostępem:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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. W Konsoli interfejsów API otwórz stronę Administrator Gemini.

    Otwórz Gemini w Google Cloud

    Otworzy się strona Gemini w Google Cloud.

  4. W menu nawigacyjnym po lewej stronie kliknij Ustawienia.

    Wczytuje się strona Ustawienia.

  5. (Opcjonalnie) Kliknij Logowanie metadanych Code Assist, aby rejestrować metadane wygenerowane przez użytkowników Gemini Code Assist w wersji Standard i Enterprise w projekcie.

  6. (Opcjonalnie) Kliknij Logowanie promptów i odpowiedzi Code Assist, aby rejestrować prompty i odpowiedzi wygenerowane przez użytkowników Gemini Code Assist w wersji Standard i Enterprise w projekcie.

  7. Kliknij Zapisz zmiany.

Interfejs API

Aby włączyć logowanie w Gemini Code Assist Standard i Enterprise, użyj zasobu loggingSettings, aby zdefiniować wybrane ustawienia logowania, a następnie użyj zasobu loggingSettings.settingBindings, aby powiązać ustawienia z projektem:

  1. Sprawdź, czy w projekcie włączony jest interfejs API Cloud Logging.

  2. Sprawdź, czy masz w projekcie, do którego należy subskrypcja, te uprawnienia w zakresie zarządzania tożsamością i dostępem:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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. Utwórz ustawienie i wartość związaną z tym ustawieniem:

    1. Uzyskaj token:

      TOKEN=$(gcloud auth print-access-token)
      
  4. Włącz logi Gemini Code Assist Standard i Enterprise. Dzienniki użytkowników i dzienniki metadanych są włączone odpowiednio w polach log_prompts_and_responseslog_metadata. Jeśli nie chcesz włączyć któregoś z pól, wyklucz je z żądania.

    1. Aby utworzyć ustawienie, uruchom to polecenie:

      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"
      

      Zastąp następujące elementy:

      • CONTAINER_PROJECT_NAME: wpisz identyfikator projektu, w którym jest przechowywany zasób powiązania. Jest to projekt nadrzędny powiązania.
      • LOGS_SETTING_ID: wpisz unikalną nazwę ustawienia, np. gcalm.

      Jeśli polecenie się powiedzie, zwróci treść odpowiedzi, w której pola log_prompts_and_responseslog_metadata będą miały wartość 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. Aby utworzyć powiązanie ustawień logów Gemini Code Assist w wersji Standard i Enterprise , uruchom to polecenie:

      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"
      

    Zastąp następujące elementy:

    • TARGET_PROJECT_NAME: wpisz projekt docelowy, z którym ma być powiązane powiązanie. Często jest to ten sam projekt co projekt kontenera. Możesz jednak powiązać ustawienie z wieloma projektami, aby nie trzeba było duplikować zasobu ustawienia.
    • LOGS_BINDING_ID: użyj tego samego identyfikatora LOGS_SETTING_ID, który został użyty podczas tworzenia ustawienia, ale dodaj do niego b1. Na przykład użyj elementu gcalmb1.

    Jeśli polecenie się powiedzie, zwróci metadane operacji w tym formacie:

    {
      "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
    }
    

Wyłączanie logowania w Gemini Code Assist

Wybierz jedną z tych opcji:

Konsola

  1. Sprawdź, czy masz w projekcie, do którego należy subskrypcja, te uprawnienia w zakresie zarządzania tożsamością i dostępem:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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. W Konsoli interfejsów API otwórz stronę Administrator Gemini.

    Otwórz Gemini w Google Cloud

    Otworzy się strona Gemini w Google Cloud.

  3. W menu nawigacyjnym po lewej stronie kliknij Ustawienia.

    Wczytuje się strona Ustawienia.

  4. Kliknij Logowanie metadanych Code Assist, aby wyłączyć rejestrowanie metadanych z użycia Gemini Code Assist Standard i Enterprise w projekcie.

  5. Kliknij Zapisz zmiany.

Interfejs API

Aby wyłączyć logowanie w Gemini Code Assist Standard i Enterprise, użyj metody loggingSetting.

  1. Sprawdź, czy masz w projekcie, do którego należy subskrypcja, te uprawnienia w zakresie zarządzania tożsamością i dostępem:

    • instance.queryEffectiveSetting
    • instance.queryEffectiveSettingBindings
    • 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. Utwórz ustawienie i wartość związaną z tym ustawieniem:

    1. Uzyskaj token:

      TOKEN=$(gcloud auth print-access-token)
      
  3. Aby wyłączyć ustawienia logów Gemini Code Assist Standard i Enterprise , uruchom to polecenie:

      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"
    

    Zastąp następujące elementy:

    • CONTAINER_PROJECT_NAME: wpisz identyfikator projektu nadrzędnego.
    • LOGS_SETTING_ID: wpisz nazwę istniejącego ustawienia, np. gcalm.

      Jeśli polecenie się powiedzie, zwróci treść odpowiedzi, w której pola log_prompts_and_responseslog_metadata będą miały wartość 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
      }
      

Co dalej?