Gemini Code Assist Standard ve Enterprise günlük kaydını yapılandırma

Bu belgede, Google API Konsolu veya bir API kullanarak bir proje için Gemini Code Assist Standard ve Enterprise günlüklerinin nasıl yapılandırılacağı açıklanmaktadır.

Sınırlamalar

Google Cloud günlük verilerinde Gemini Standard ve Enterprise'ın kaydı, IDE'deki Gemini Code Assist ile kullanıcı etkileşimleriyle sınırlıdır.

Ayrıca, kullanıcı VS Code telemetrisini devre dışı bırakırsa Google Cloud için Gemini, Gemini Code Assist Standard ve Enterprise'ın verilerini günlüğe kaydetmez.

Başlamadan önce

Google Cloud projenizin bir faturalandırma hesabına bağlı olduğunu doğrulayın.

(İsteğe bağlı) IAM izinleri verme

Gemini Code Assist Standard ve Enterprise günlük kaydını yapılandırmak için belirli kimlik ve erişim yönetimi izinlerine sahip olmanız gerekir. Bu izinler aşağıdaki bölümlerde ayrıntılı olarak açıklanmıştır. Bu izinlerin özel IAM rollerine eklendiğinden emin olun.

Alternatif olarak, tüm Gemini for Google Cloud yönetici ayarlarıyla çalışmak için gereken tüm izinleri içeren Google Cloud için Gemini Ayarları Yöneticisi (roles/cloudaicompanion.settingsAdmin) IAM önceden tanımlanmış rolünü verebilirsiniz.

Gemini Code Assist günlük kaydını yapılandırma

Aşağıdaki bölümlerde, Gemini Code Assist Standard ve Enterprise etkinliğinin Cloud Logging'de toplanmasını ve depolanmasını sağlamak için gereken adımlar açıklanmaktadır. Bu adımlar şunları içerir:

  • Gemini Code Assist Standard ve Enterprise istemleri ile yanıt günlükleri (ör. kullanıcı girişi, bağlamsal bilgiler ve yanıtlar)

  • Gemini Code Assist Standard ve Enterprise meta veri günlükleri (ör. telemetri meta verileri ve kullanıcı tarafından kabul edilen kod satırları)

Her iki günlük türü hakkında daha fazla bilgi için Gemini günlüklerini görüntüleme başlıklı makaleyi inceleyin.

Gemini Code Assist için günlük kaydını etkinleştirme

Aşağıdaki seçeneklerden birini belirtin:

Console

  1. Projede Cloud Logging API'sini etkinleştirdiğinizi doğrulayın.

  2. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzu doğrulayın:

    • 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. API Console'da Gemini için Yönetici sayfasına gidin.

    Google Cloud için Gemini'a gitme

    Google Cloud için Gemini sayfası yüklenir.

  4. Soldaki gezinme menüsünde Ayarlar'ı tıklayın.

    Ayarlar sayfası yüklenir.

  5. (İsteğe bağlı) Gemini Code Assist Standard ve Enterprise kullanıcıları tarafından projede oluşturulan meta verileri kaydetmek için Code Assist meta verileri için günlük kaydı'nı tıklayın.

  6. (İsteğe bağlı) Gemini Code Assist Standard ve Enterprise kullanıcıları tarafından oluşturulan istemleri ve yanıtları projede kaydetmek için Code Assist istemleri ve yanıtları için günlük kaydı'nı tıklayın.

  7. Save Changes'ı (Değişiklikleri Kaydet) tıklayın.

API

Gemini Code Assist Standard ve Enterprise için günlük kaydını etkinleştirmek üzere istediğiniz günlük kaydı ayarlarını tanımlamak için loggingSettings kaynağını, ayarları bir projeye bağlamak için ise loggingSettings.settingBindings kaynağını kullanın:

  1. Projede Cloud Logging API'yi etkinleştirdiğinizi doğrulayın.

  2. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzu doğrulayın:

    • 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. Ayarı ve ayara özgü değeri oluşturun:

    1. Jetonu alın:

      TOKEN=$(gcloud auth print-access-token)
      
  4. Gemini Code Assist Standard ve Enterprise günlüklerini etkinleştirin. Kullanıcı günlükleri ve meta veri günlükleri sırasıyla log_prompts_and_responses ve log_metadata alanlarıyla etkinleştirilir. Alanlardan birini etkinleştirmek istemiyorsanız isteğin dışında bırakın.

    1. Ayarı oluşturmak için aşağıdaki komutu çalıştırın:

      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"
      

      Aşağıdakini değiştirin:

      • CONTAINER_PROJECT_NAME: Bağlama kaynağının depolandığı projenin proje kimliğini girin. Bu, bağlamanın üst projesidir.
      • LOGS_SETTING_ID: gcalm gibi benzersiz bir ayar adı girin.

      Komut başarılı olursa log_prompts_and_responses ve log_metadata değerlerinin true olarak ayarlandığını gösteren bir yanıt gövdesi döndürür:

      {
        "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. Gemini Code Assist Standard ve Enterprise günlükleri ayar bağlamasını oluşturmak için aşağıdaki komutu çalıştırın:

      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"
      

    Aşağıdakini değiştirin:

    • TARGET_PROJECT_NAME: Bağlamanın bağlanacağı hedef projeyi girin. Bu genellikle kapsayıcı projesiyle aynıdır. Ancak, ayar kaynağının kopyalanmaması için bir ayarı birden fazla projeye bağlayabilirsiniz.
    • LOGS_BINDING_ID: Ayarı oluştururken kullandığınız LOGS_SETTING_ID değerini kullanın ancak bu değere b1 ekleyin. Örneğin, gcalmb1 kullanın.

    Komut başarılı olursa işlem meta verilerini aşağıdaki biçimde döndürür:

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

Gemini Code Assist için günlük kaydını devre dışı bırakma

Aşağıdaki seçeneklerden birini belirtin:

Console

  1. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzu doğrulayın:

    • 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. API Console'da Gemini için Yönetici sayfasına gidin.

    Google Cloud için Gemini'a gitme

    Google Cloud için Gemini sayfası yüklenir.

  3. Soldaki gezinme menüsünde Ayarlar'ı tıklayın.

    Ayarlar sayfası yüklenir.

  4. Projede Gemini Code Assist Standard ve Enterprise kullanımından elde edilen meta verilerin kaydedilmesini devre dışı bırakmak için Code Assist meta verileri için günlük kaydı'nı tıklayın.

  5. Save Changes'ı (Değişiklikleri Kaydet) tıklayın.

API

Gemini Code Assist Standard ve Enterprise için günlük kaydını devre dışı bırakmak üzere loggingSetting yöntemini kullanın.

  1. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzu doğrulayın:

    • 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. Ayarı ve ayara özgü değeri oluşturun:

    1. Jetonu alın:

      TOKEN=$(gcloud auth print-access-token)
      
  3. Gemini Code Assist Standard ve Enterprise günlükleri ayarlarını devre dışı bırakmak için aşağıdaki komutu çalıştırın:

      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"
    

    Aşağıdakini değiştirin:

    • CONTAINER_PROJECT_NAME: Üst proje kimliğini girin.
    • LOGS_SETTING_ID: Mevcut ayar adını girin (ör. gcalm).

      Komut başarılı olursa log_prompts_and_responses ve log_metadata değerlerinin false olarak ayarlandığını gösteren bir yanıt gövdesi döndürür:

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

Sırada ne var?