پیکربندی Gemini Code Assist Standard and Enterprise logging

این سند نحوه پیکربندی ثبت وقایع Gemini Code Assist Standard و Enterprise برای یک پروژه را با استفاده از کنسول Google Cloud یا یک API شرح می‌دهد.

محدودیت‌ها

ثبت داده‌های لاگ Gemini Standard و Enterprise در Google Cloud محدود به تعاملات کاربر با Gemini Code Assist در IDE است.

علاوه بر این، اگر تله‌متری VS Code توسط کاربر غیرفعال باشد، Gemini برای Google Cloud داده‌های مربوط به Gemini Code Assist Standard و Enterprise را ثبت نمی‌کند.

قبل از اینکه شروع کنی

تأیید کنید که پروژه Google Cloud شما به یک حساب صورتحساب متصل است.

مجوزهای IAM را تأیید کنید

برای پیکربندی ثبت وقایع استاندارد و سازمانی Gemini Code Assist، می‌توانید نقش از پیش تعریف‌شده‌ی مدیریت هویت و دسترسی Gemini for Google Cloud Settings Admin ( roles/cloudaicompanion.settingsAdmin ) را اعطا کنید ، که شامل تمام مجوزهای لازم برای کار با تمام تنظیمات مدیریتی Gemini for Google Cloud می‌شود.

از طرف دیگر، می‌توانید هر نقش IAM سفارشی را به‌روزرسانی کنید. شما باید مجوزهای IAM خاصی داشته باشید که در بخش‌های بعدی به تفصیل توضیح داده شده است.

پیکربندی ثبت وقایع Gemini Code Assist

بخش‌های زیر مراحل لازم برای فعال کردن جمع‌آوری و ذخیره فعالیت‌های Gemini Code Assist Standard و Enterprise در Cloud Logging را ارائه می‌دهند، از جمله:

  • اعلان‌ها و گزارش‌های پاسخ Gemini Code Assist Standard و Enterprise، مانند ورودی کاربر، اطلاعات زمینه‌ای و پاسخ‌ها.

  • لاگ‌های فراداده استاندارد و سازمانی Gemini Code Assist، مانند فراداده‌های تله‌متری و خطوط کد پذیرفته‌شده توسط کاربر.

برای جزئیات بیشتر در مورد هر دو نوع لاگ، به «مشاهده لاگ‌های Gemini» مراجعه کنید.

فعال کردن گزارش‌گیری برای Gemini Code Assist

یکی از گزینه‌های زیر را انتخاب کنید:

کنسول

  1. تأیید کنید که API ثبت وقایع ابری (Cloud Logging API) را در پروژه فعال کرده‌اید.

  2. تأیید کنید که مجوزهای IAM زیر را در پروژه‌ای که اشتراک را در اختیار دارد، دارید:

    • 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. در کنسول گوگل کلود، به صفحه ادمین برای جمینی بروید.

    برای دسترسی به فضای ابری گوگل به Gemini بروید

    صفحه Gemini برای Google Cloud بارگذاری می‌شود.

  4. در منوی ناوبری سمت چپ، روی تنظیمات کلیک کنید.

    صفحه تنظیمات بارگذاری می‌شود.

  5. (اختیاری) برای ثبت فراداده‌های تولید شده توسط کاربران Gemini Code Assist Standard و Enterprise در پروژه، روی Logging for Code Assist کلیک کنید.

  6. (اختیاری) برای ثبت درخواست‌ها و پاسخ‌های Code Assist توسط کاربران Gemini Code Assist Standard و Enterprise در پروژه، روی Logging کلیک کنید.

  7. روی ذخیره تغییرات کلیک کنید.

رابط برنامه‌نویسی کاربردی

برای فعال کردن ثبت وقایع برای Gemini Code Assist Standard و Enterprise، از منبع loggingSettings برای تعریف تنظیمات ثبت وقایع مورد نظر خود استفاده کنید و از منبع loggingSettings.settingBindings برای اتصال تنظیمات به یک پروژه استفاده کنید:

  1. تأیید کنید که API ثبت وقایع ابری (Cloud Logging API) را در پروژه فعال کرده‌اید.

  2. تأیید کنید که مجوزهای IAM زیر را در پروژه‌ای که اشتراک را در اختیار دارد، دارید:

    • 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. تنظیمات و یک مقدار مختص به تنظیمات را ایجاد کنید:

    1. دریافت توکن:

      TOKEN=$(gcloud auth print-access-token)
      
  4. فعال کردن لاگ‌های استاندارد و سازمانی Gemini Code Assist. لاگ‌های کاربران و لاگ‌های فراداده به ترتیب با فیلدهای log_prompts_and_responses و log_metadata فعال می‌شوند. اگر نمی‌خواهید یکی از فیلدها را فعال کنید، آن را از درخواست حذف کنید.

    1. برای ایجاد تنظیمات، دستور زیر را اجرا کنید:

      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"
      

      موارد زیر را جایگزین کنید:

      • CONTAINER_PROJECT_NAME : شناسه پروژه‌ای که منبع اتصال در آن ذخیره شده است را وارد کنید. این پروژه والد اتصال است.
      • LOGS_SETTING_ID : یک نام تنظیم منحصر به فرد، مانند gcalm ، وارد کنید.

      اگر دستور با موفقیت اجرا شود، یک بدنه پاسخ برمی‌گرداند که log_prompts_and_responses و log_metadata که روی 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. دستور زیر را برای ایجاد اتصال تنظیمات لاگ‌های Gemini Code Assist Standard و 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"
      

    موارد زیر را جایگزین کنید:

    • TARGET_PROJECT_NAME : پروژه هدفی را که اتصال باید به آن متصل شود، وارد کنید. این اغلب مشابه پروژه کانتینر است. با این حال، می‌توانید یک تنظیم را به چندین پروژه متصل کنید تا نیازی به تکرار منبع تنظیم نباشد.
    • LOGS_BINDING_ID : از همان LOGS_SETTING_ID که هنگام ایجاد تنظیمات استفاده کردید استفاده کنید، اما آن را به b1 اضافه کنید. برای مثال، از gcalmb1 استفاده کنید.

    اگر دستور با موفقیت اجرا شود، فراداده‌های عملیات را با فرمت زیر برمی‌گرداند:

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

یکی از گزینه‌های زیر را انتخاب کنید:

کنسول

  1. تأیید کنید که مجوزهای IAM زیر را در پروژه‌ای که اشتراک را در اختیار دارد، دارید:

    • 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. در کنسول گوگل کلود، به صفحه ادمین برای جمینی بروید.

    برای دسترسی به فضای ابری گوگل به Gemini بروید

    صفحه Gemini برای Google Cloud بارگذاری می‌شود.

  3. در منوی ناوبری سمت چپ، روی تنظیمات کلیک کنید.

    صفحه تنظیمات بارگذاری می‌شود.

  4. برای غیرفعال کردن ثبت فراداده‌های حاصل از استفاده از Gemini Code Assist Standard و Enterprise در پروژه، روی گزینه Logging for Code Assist کلیک کنید.

  5. روی ذخیره تغییرات کلیک کنید.

رابط برنامه‌نویسی کاربردی

برای غیرفعال کردن ثبت وقایع برای Gemini Code Assist Standard و Enterprise، از متد loggingSetting استفاده کنید.

  1. تأیید کنید که مجوزهای IAM زیر را در پروژه‌ای که اشتراک را در اختیار دارد، دارید:

    • 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. تنظیمات و یک مقدار مختص به تنظیمات را ایجاد کنید:

    1. دریافت توکن:

      TOKEN=$(gcloud auth print-access-token)
      
  3. دستور زیر را برای غیرفعال کردن تنظیمات لاگ‌های استاندارد و سازمانی Gemini Code Assist اجرا کنید:

      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"
    

    موارد زیر را جایگزین کنید:

    • CONTAINER_PROJECT_NAME : شناسه پروژه والد را وارد کنید.
    • LOGS_SETTING_ID : نام تنظیم موجود، مانند gcalm را وارد کنید.

      اگر دستور با موفقیت اجرا شود، یک بدنه پاسخ برمی‌گرداند که log_prompts_and_responses و log_metadata که روی 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
      }
      

قدم بعدی چیست؟