Gemini Code Assist स्टैंडर्ड और एंटरप्राइज़ लॉगिंग को कॉन्फ़िगर करना

इस दस्तावेज़ में, Google API Console या किसी एपीआई का इस्तेमाल करके, किसी प्रोजेक्ट के लिए Gemini Code Assist Standard और Enterprise की लॉगिंग को कॉन्फ़िगर करने का तरीका बताया गया है.

सीमाएं

Google Cloud में Gemini Standard और Enterprise के लिए, लॉग डेटा रिकॉर्ड करने की सुविधा सिर्फ़ आईडीई में Gemini Code Assist के साथ उपयोगकर्ता के इंटरैक्शन तक सीमित है.

इसके अलावा, अगर उपयोगकर्ता ने VS Code टेलीमेट्री की सुविधा बंद की है, तो Gemini for Google Cloud, Gemini Code Assist Standard और Enterprise के लिए डेटा लॉग नहीं करता.

शुरू करने से पहले

पुष्टि करें कि आपका Google Cloud प्रोजेक्ट, किसी बिलिंग खाते से जुड़ा हो.

(ज़रूरी नहीं) IAM अनुमतियां देना

Gemini Code Assist Standard और Enterprise की लॉगिंग को कॉन्फ़िगर करने के लिए, आपके पास पहचान और ऐक्सेस मैनेजमेंट की कुछ अनुमतियां होनी चाहिए. इनके बारे में यहां बताया गया है. पक्का करें कि ये अनुमतियां, कस्टम IAM भूमिकाओं में जोड़ी गई हों.

इसके अलावा, Gemini for Google Cloud Settings Admin (roles/cloudaicompanion.settingsAdmin) IAM की पहले से तय भूमिका असाइन की जा सकती है. इसमें Gemini for Google Cloud की सभी एडमिन सेटिंग के साथ काम करने के लिए ज़रूरी सभी अनुमतियां शामिल होती हैं.

Gemini Code Assist की लॉगिंग कॉन्फ़िगर करना

यहाँ दिए गए सेक्शन में, Cloud Logging में Gemini Code Assist Standard और Enterprise की गतिविधि का डेटा इकट्ठा करने और सेव करने के लिए ज़रूरी चरणों के बारे में बताया गया है. इनमें ये शामिल हैं:

  • Gemini Code Assist Standard और Enterprise के प्रॉम्प्ट और जवाब के लॉग. जैसे, उपयोगकर्ता का इनपुट, कॉन्टेक्स्ट के हिसाब से जानकारी, और जवाब.

  • Gemini Code Assist Standard और Enterprise के मेटाडेटा लॉग. जैसे, टेलीमेट्री मेटाडेटा और उपयोगकर्ता के स्वीकार किए गए कोड की लाइनें.

दोनों तरह के लॉग के बारे में ज़्यादा जानने के लिए, Gemini के लॉग देखना लेख पढ़ें.

Gemini Code Assist के लिए लॉगिंग की सुविधा चालू करना

निम्न विकल्पों में से कोई एक चुनें:

कंसोल

  1. पुष्टि करें कि आपने प्रोजेक्ट में Cloud Logging API चालू किया हो.

  2. पुष्टि करें कि आपके पास उस प्रोजेक्ट के लिए, पहचान और ऐक्सेस मैनेजमेंट की ये अनुमतियां हों जिसके पास सदस्यता का मालिकाना हक है:

    • 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 में, Admin for Gemini पेज पर जाएं.

    Gemini for Google Cloud पर जाएँ

    Gemini for Google Cloud पेज लोड होता है.

  4. बाईं ओर मौजूद नेविगेशन मेन्यू में, सेटिंग पर क्लिक करें.

    सेटिंग पेज लोड होता है.

  5. (ज़रूरी नहीं) Code Assist के मेटाडेटा के लिए लॉगिंग पर क्लिक करें, ताकि प्रोजेक्ट में Gemini Code Assist Standard और Enterprise का इस्तेमाल करने वाले लोगों के जनरेट किए गए मेटाडेटा को रिकॉर्ड किया जा सके.

  6. (ज़रूरी नहीं) कोड लिखने में मदद करने वाले टूल के प्रॉम्प्ट और जवाबों के लिए लॉगिंग पर क्लिक करें. इससे, Gemini Code Assist Standard और Enterprise का इस्तेमाल करने वाले लोगों के प्रॉम्प्ट और प्रोजेक्ट में जनरेट किए गए जवाब रिकॉर्ड किए जा सकेंगे.

  7. बदलाव सेव करें पर क्लिक करें.

एपीआई

Gemini Code Assist Standard और Enterprise के लिए लॉगिंग की सुविधा चालू करने के लिए, loggingSettings संसाधन का इस्तेमाल करके लॉगिंग की वे सेटिंग तय करें जो आपको चाहिए. इसके बाद, loggingSettings.settingBindings संसाधन का इस्तेमाल करके, उन सेटिंग को किसी प्रोजेक्ट से बाइंड करें:

  1. पुष्टि करें कि आपने प्रोजेक्ट में Cloud Logging API चालू किया हो.

  2. पुष्टि करें कि आपके पास उस प्रोजेक्ट के लिए, पहचान और ऐक्सेस मैनेजमेंट की ये अनुमतियां हों जिसके पास सदस्यता का मालिकाना हक है:

    • 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 Standard और Enterprise के लॉग जनरेट करने की सुविधा चालू करें. उपयोगकर्ता के लॉग और मेटाडेटा लॉग, 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. पुष्टि करें कि आपके पास उस प्रोजेक्ट के लिए, पहचान और ऐक्सेस मैनेजमेंट की ये अनुमतियां हों जिसके पास सदस्यता का मालिकाना हक है:

    • 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 में, Admin for Gemini पेज पर जाएं.

    Gemini for Google Cloud पर जाएँ

    Gemini for Google Cloud पेज लोड होता है.

  3. बाईं ओर मौजूद नेविगेशन मेन्यू में, सेटिंग पर क्लिक करें.

    सेटिंग पेज लोड होता है.

  4. प्रोजेक्ट में Gemini Code Assist Standard और Enterprise के इस्तेमाल से मिले मेटाडेटा को रिकॉर्ड करने की सुविधा बंद करने के लिए, Code Assist के मेटाडेटा के लिए लॉगिंग पर क्लिक करें.

  5. बदलाव सेव करें पर क्लिक करें.

एपीआई

Gemini Code Assist Standard और Enterprise के लिए लॉगिंग की सुविधा बंद करने के लिए, loggingSetting तरीके का इस्तेमाल करें.

  1. पुष्टि करें कि आपके पास उस प्रोजेक्ट के लिए, पहचान और ऐक्सेस मैनेजमेंट की ये अनुमतियां हों जिसके पास सदस्यता का मालिकाना हक है:

    • 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 Standard और 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"
    

    इनकी जगह ये डालें:

    • 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
      }
      

आगे क्या करना है