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

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

Sınırlamalar

Google Cloud'da Gemini Standard ve Enterprise için günlük kaydı verileri, kullanıcıların IDE'de Gemini Code Assist ile etkileşimleriyle sınırlıdır.

Ayrıca, Google Cloud için Gemini, VS Code telemetrisi kullanıcı tarafından devre dışı bırakılırsa Gemini Code Assist Standard ve Enterprise ile ilgili verileri günlüğe kaydetmez.

Başlamadan önce

Google Cloud projenizin bir faturalandırma hesabına bağlı olduğundan emin olun.

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

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

Alternatif olarak, tüm Google Cloud için Gemini 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.

(İsteğe bağlı) İzinleri ayarlara ve hedeflere bağlama

Gemini Code Assist Standard ve Enterprise yönetici ayarlarını Google API Konsolu'nda yapılandırıyorsanız bu bölümü atlayabilirsiniz.

Gemini Code Assist Standard ve Enterprise yönetici ayarlarını Google Cloud için Gemini API ile yapılandırmak için önce ayarlar oluşturmanız, ardından bu ayarları ve belirli ürünlere (ör. Gemini Cloud Assist veya Gemini Code Assist) yönelik hedefleri (ör. örnek, konu veya projeler) "bağlamak" için bağlamalar oluşturmanız gerekir.

Ayar oluşturma ve güncellemeyle ilgili tüm izinler proje düzeyindedir.

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

Aşağıdaki bölümlerde, Cloud Logging'da Gemini Code Assist Standard ve Enterprise etkinliğinin toplanıp depolanmasını sağlamak için gereken adımlar verilmiştir.

  • Gemini Code Assist Standard ve Enterprise istemleri ve 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ğinizden emin olun.

  2. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzdan emin olun:

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

    Google Cloud için Gemini'ye gidin

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

  4. Sol 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ı) Projede Gemini Code Assist Standard ve Enterprise kullanıcıları tarafından oluşturulan istemleri ve yanıtları 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 loggingSetting yöntemini kullanın.

  1. Projede Cloud Logging API'yi etkinleştirdiğinizden emin olun.

  2. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzdan emin olun:

    • 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 ayar özelinde bir değer oluşturun:

    1. Jetonu alın:

      TOKEN=$(gcloud auth print-access-token)
      
  4. Gemini Code Assist Standard ve Enterprise meta veri günlüklerini etkinleştirin.

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

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

      • CONTAINER_PROJECT_NAME: Üst proje kimliğini girin.
      • SETTING_ID: Gemini Code Assist log metadata için gcalm1 gibi benzersiz bir ayar adı girin.

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

      {
        "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. Gemini Code Assist Standard ve Enterprise meta veri 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/SETTING_ID/settingBindings?setting_binding_id=BINDING_ID"
      

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

    • TARGET_PROJECT_NAME: Ayarın uygulanacağı hedef projeyi girin.
    • SETTING_ID: Ayarı oluştururken kullandığınız SETTING_ID'yi kullanın ancak b1 ile sonlandırın. Örneğin, Gemini Code Assist log metadata iç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>SETTING_ID</var>/settingBindings/<var>BINDING_ID</var>",
        "verb": "create",
        "requestedCancellation": false,
        "apiVersion": "v1"
      },
      "done": false
    }
    
  5. Gemini Code Assist Standard ve Enterprise kullanıcı günlüklerini etkinleştirin.

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

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

      • CONTAINER_PROJECT_NAME: Üst proje kimliğini girin.
      • SETTING_ID: Gemini Code Assist prompts and responses için gcapar1 gibi benzersiz bir ayar adı girin.

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

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

      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"
      

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

    • TARGET_PROJECT_NAME: Ayarın uygulanacağı hedef projeyi girin.
    • SETTING_ID: Ayarı oluştururken kullandığınız SETTING_ID'yi kullanın ancak b1 ile sonlandırın. Örneğin, Gemini Code Assist prompts and responses için gcaparb1 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>SETTING_ID</var>/settingBindings/<var>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ğunuzdan emin olun:

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

    Google Cloud için Gemini'ye gidin

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

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

    Ayarlar sayfası yüklenir.

  4. Projede Gemini Code Assist Standard ve Enterprise'ın 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ı etkinleştirmek üzere loggingSetting yöntemini kullanın.

  1. Aboneliğin sahibi olan projede aşağıdaki Kimlik ve Erişim Yönetimi izinlerine sahip olduğunuzdan emin olun:

    • 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 ayar özelinde bir değer oluşturun:

    1. Jetonu alın:

      TOKEN=$(gcloud auth print-access-token)
      
  3. Gemini Code Assist Standard ve Enterprise meta veri günlükleri ayarı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_metadata": false,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_metadata_id=SETTING_ID"
    

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

    • CONTAINER_PROJECT_NAME: Üst proje kimliğini girin.
    • SETTING_ID: Mevcut ayar adını girin (ör. Gemini Code Assist log metadata için gcalm1).

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

      {
        "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. Gemini Code Assist Standard ve Enterprise kullanıcı günlükleri ayarı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,
          } ' \
        "https://cloudaicompanion.googleapis.com/v1/projects/CONTAINER_PROJECT_NAME/locations/global/loggingSettings?logging_setting_id=SETTING_ID"
    

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

    • CONTAINER_PROJECT_NAME: Üst proje kimliğini girin.
    • SETTING_ID: Mevcut ayar adını girin (ör. Gemini Code Assist prompts and responses için gcapar1).

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

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

Sırada ne var?