Gemini Code Assist की मदद से, कोड में अपने हिसाब से बदलाव करने की सुविधा को कॉन्फ़िगर करना

इस दस्तावेज़ में, API Console, Google Cloud CLI या Terraform में Gemini Code Assist की कोड को पसंद के मुताबिक बनाने की सुविधा सेट अप करने का तरीका बताया गया है. इसके लिए, Gemini Code Assist को अपने निजी कोड रिपॉज़िटरी से कनेक्ट करें. Gemini Code Assist में कोड को पसंद के मुताबिक बनाने की सुविधा मिलती है. इससे आपको कोड के सुझाव मिलते हैं. ये सुझाव, आपकी कंपनी की इंटरनल लाइब्रेरी, निजी एपीआई, और कोडिंग स्टाइल से लिए जाते हैं.

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

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

    • कोड रिपॉज़िटरी इंडेक्स का एडमिन (roles/cloudaicompanion.codeRepositoryIndexesAdmin)
    • Google Cloud के लिए Gemini का इस्तेमाल करने वाला व्यक्ति (roles/cloudaicompanion.user)
  3. उपयोगकर्ता खाते बनाएं या उन्हें कॉन्फ़िगर करें. आपके संगठन में Gemini Code Assist का इस्तेमाल करने वाले हर डेवलपर के पास, Google Cloud में उपयोगकर्ता की पहचान होनी चाहिए. साथ ही, उसके पास आपके Google Cloud प्रोजेक्ट को ऐक्सेस करने की अनुमति होनी चाहिए. ज़्यादा जानकारी के लिए, Google Cloud Console में भूमिकाएं असाइन करना लेख पढ़ें. पुष्टि करें कि हर उपयोगकर्ता के पास ये भूमिकाएं हैं:

  4. कोड को पसंद के मुताबिक बनाने की सुविधा, Developer Connect का इस्तेमाल करके आपकी निजी रिपॉज़िटरी को ऐक्सेस और इंडेक्स करती है. पक्का करें कि Developer Connect का वह देश/इलाका, कोड में बदलाव करने की सुविधा के लिए भी उपलब्ध हो जहां Developer Connect रिपॉज़िटरी कनेक्शन मौजूद है. अगर Developer Connect कनेक्शन, उन देशों/इलाकों में उपलब्ध नहीं है जहां कोड को पसंद के मुताबिक बनाने की सुविधा काम करती है, तो इस सुविधा का इस्तेमाल नहीं किया जा सकता. जिन देशों/इलाकों में कोड कस्टमाइज़ेशन की सुविधा उपलब्ध है उनकी सूची देखने के लिए, कोड कस्टमाइज़ेशन से जुड़ी सीमाएं लेख पढ़ें.

चुनें कि किन रिपॉज़िटरी को इंडेक्स किया गया है

सबसे सही तरीके के तौर पर, आपको ऐसी रिपॉज़िटरी को इंडेक्स करना चाहिए जिनमें ये विशेषताएं हों:

  • ऐसा कोड जो आपके डेवलपर के लिखे गए कोड के स्टाइल या स्ट्रक्चर से मिलता-जुलता हो.
  • निजी लाइब्रेरी या एपीआई, जिन्हें आपको अपने मौजूदा कोडबेस से कॉल करना है.

ज़रूरी नहीं: चुनें कि किन फ़ाइलों को इंडेक्स नहीं किया गया है

डिफ़ॉल्ट रूप से, कोड को पसंद के मुताबिक बनाने की सुविधा, आपकी चुनी गई रिपॉज़िटरी में मौजूद इस्तेमाल की जा सकने वाली सभी कोड फ़ाइलों को इंडेक्स करती है.

अगर आपको किसी ऐसे कोड को इंडेक्स होने से रोकना है जिसे इंडेक्स नहीं करना है, तो ब्रांच पैटर्न का इस्तेमाल करके, अपने इंडेक्स के ऐक्सेस को कंट्रोल करें. साथ ही, main जैसी स्टेबल ब्रांच का इस्तेमाल करें.

इसके अलावा, इंडेक्स से फ़ाइलों को बाहर रखने के लिए, .aiexclude फ़ाइल बनाई जा सकती है.

Gemini Code Assist की कोड को पसंद के मुताबिक बनाने की सुविधा कॉन्फ़िगर करना

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

कंसोल

  1. API Console में, कोड को पसंद के मुताबिक बनाएं पेज पर जाएं.

    Gemini Code Assist के लिए कोड को पसंद के मुताबिक बनाने की सुविधा पर जाएं

    Gemini Code Assist के लिए कोड को पसंद के मुताबिक बनाएं पेज लोड होता है.

  2. कोई इंडेक्स बनाना. कोड को पसंद के मुताबिक बनाने की सुविधा, इंडेक्स पर निर्भर करती है. इंडेक्स, आपकी रिपॉज़िटरी का विश्लेषण करता है और उसे पार्स करता है. इससे कोड जनरेट करने के सुझाव तेज़ी से मिलते हैं और लुकअप भी तेज़ी से होता है.

    1. बनाएं पर क्लिक करें और इंडेक्स की जानकारी कॉन्फ़िगर करें:

      • वह इलाका चुनें जिसे आपने Cloud प्रोजेक्ट में Developer Connect में कॉन्फ़िगर किया है.
      • अपने इंडेक्स के लिए कोई नाम डालें. अपने इंडेक्स का नाम नोट करें. इस दस्तावेज़ में कई चरणों के लिए, आपको इसकी ज़रूरत होगी.
    2. बनाएं पर क्लिक करें.

    आम तौर पर, इंडेक्स बनाने में 30 मिनट लगते हैं. हालांकि, इसमें एक घंटा भी लग सकता है. इंडेक्सिंग पूरी होने पर, आपको Google API (एपीआई) कंसोल में सूचना मिलेगी.

    Google, हर प्रोजेक्ट और संगठन के लिए कोड रिपॉज़िटरी इंडेक्स की संख्या को एक तक सीमित रखता है.

  3. रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स का ऐक्सेस कंट्रोल करें.

    रिपॉज़िटरी ग्रुप, इंडेक्सिंग कॉन्फ़िगरेशन के लिए एक कंटेनर होता है. इसमें रिपॉज़िटरी और उनके ब्रांच पैटर्न शामिल होते हैं. रिपॉज़िटरी ग्रुप को, IAM के बेहतर कंट्रोल के लिए डिज़ाइन किया गया है. इससे डेवलपर को उन ग्रुप से इंडेक्स किए गए डेटा का ऐक्सेस मिलता है जिनके लिए उनके पास cloudaicompanion.repositoryGroups.use अनुमति है.

    रिपॉज़िटरी ग्रुप में, एक ही प्रोजेक्ट और जगह की Developer Connect रिपॉज़िटरी या लिंक होते हैं.

  4. Gemini Code Assist के लिए कोड को पसंद के मुताबिक बनाएं पेज पर, रिपॉज़िटरी जोड़ें पर क्लिक करें. इसके बाद, सोर्स रिपॉज़िटरी जोड़ें को चुनें.

    इस सूची में, Developer Connect में मौजूद उन रिपॉज़िटरी को दिखाया गया है जिन्हें इंडेक्स बनाने के लिए, आपने पिछले चरण में कॉन्फ़िगर किया था.

    अगर आपको रिपॉज़िटरी ग्रुप में नई रिपॉज़िटरी जोड़नी हैं, तो रिपॉज़िटरी लिंक करें पर क्लिक करें. इसके बाद, Google API Console में दिए गए निर्देशों का पालन करें.

    इसके अलावा, नई ब्रांच जोड़ने के लिए, एक या उससे ज़्यादा रिपॉज़िटरी चुनी जा सकती हैं. इसके बाद, उनमें बदलाव किया जा सकता है.

  5. वह रिपॉज़िटरी ग्रुप चुनें जिसमें आपको नई रिपॉज़िटरी जोड़नी हैं. इसके अलावा, नया रिपॉज़िटरी ग्रुप बनाने और उसे कॉन्फ़िगर करने के लिए, नया रिपॉज़िटरी ग्रुप बनाएं पर क्लिक करें.

  6. चुनी गई रिपॉज़िटरी को इंडेक्स करने के लिए, इंडेक्स करें पर क्लिक करें.

    रिपॉज़िटरी के साइज़ के हिसाब से, इंडेक्स होने में लगने वाला समय अलग-अलग होता है.

सीएलआई

  1. पुष्टि करें कि आपने Developer Connect को कॉन्फ़िगर किया हो और उसे अपनी रिपॉज़िटरी से कनेक्ट किया हो:
  2. शेल एनवायरमेंट में, gcloud components update कमांड चलाकर यह पुष्टि करें कि आपने gcloud के सभी इंस्टॉल किए गए कॉम्पोनेंट को नए वर्शन में अपडेट कर दिया है. इस चरण के लिए, gcloud को इंस्टॉल और शुरू किया जा सकता है. इसके अलावा, Cloud Shell Editor का इस्तेमाल किया जा सकता है.

    gcloud components update
    
  3. कोई इंडेक्स बनाना. कोड को पसंद के मुताबिक बनाने की सुविधा, इंडेक्स पर निर्भर करती है. इंडेक्स, आपकी रिपॉज़िटरी का विश्लेषण करता है और उसे पार्स करता है. इससे कोड जनरेट करने के सुझाव तेज़ी से मिलते हैं और लुकअप भी तेज़ी से होता है.

    1. इंडेक्स बनाने के लिए, शेल एनवायरमेंट में gemini code-repository-indexes create कमांड का इस्तेमाल करें:

      gcloud gemini code-repository-indexes create INDEX_NAME \
          --project=PROJECT_ID \
          --location=REGION
      

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

      • INDEX_NAME: आपके इंडेक्स का नाम. अहम जानकारी: अपने इंडेक्स का नाम नोट करें. इस दस्तावेज़ में कई चरणों के लिए इसकी ज़रूरत होती है.
      • PROJECT_ID: यह आपके Google Cloud प्रोजेक्ट का आईडी है.
      • REGION: वह क्षेत्र जिसे आपके Cloud प्रोजेक्ट में Developer Connect में कॉन्फ़िगर किया गया है.

      आम तौर पर, इंडेक्स बनाने में 30 मिनट लगते हैं. हालांकि, इसमें एक घंटा भी लग सकता है.

      Google, हर प्रोजेक्ट और संगठन के लिए कोड रिपॉज़िटरी इंडेक्स की संख्या को एक तक सीमित रखता है.

  4. रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स का ऐक्सेस कंट्रोल करें. रिपॉज़िटरी ग्रुप, इंडेक्सिंग कॉन्फ़िगरेशन के लिए एक कंटेनर होता है. इसमें रिपॉज़िटरी और उनके ब्रांच पैटर्न शामिल होते हैं. रिपॉज़िटरी ग्रुप को IAM के बेहतर कंट्रोल के लिए डिज़ाइन किया गया है. इससे डेवलपर को उन ग्रुप से इंडेक्स किए गए डेटा का ऐक्सेस मिलता है जहां उनके पास cloudaicompanion.repositoryGroups.use अनुमति है.

    रिपॉज़िटरी ग्रुप में, एक ही प्रोजेक्ट और जगह से Developer Connect रिपॉज़िटरी या लिंक होते हैं.

    एडमिन ये काम कर सकते हैं:

    • Repository Index रिसॉर्स के लिए कोड बनाएं.
    • उसी प्रोजेक्ट और जगह में, Developer Connect का नया कनेक्शन कॉन्फ़िगर करें.
    • कनेक्शन में Git रिपॉज़िटरी लिंक करें.
    • लिंक के संसाधन के नाम पाएं, हर लिंक के लिए इंडेक्स करने के लिए ब्रांच पैटर्न चुनें, और उसे एक या उससे ज़्यादा रिपॉज़िटरी ग्रुप में डालें.

    रिपॉज़िटरी ग्रुप बनाने के लिए, शेल एनवायरमेंट में gemini code-repository-indexes repository-groups create कमांड का इस्तेमाल करें:

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories='[{"resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "BRANCH_NAMES"}]'
    

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

    • REPOSITORY_GROUP: रिपॉज़िटरी ग्रुप का नाम, जैसे कि default.
    • REPOSITORY_RESOURCE_NAME: Developer Connect कनेक्शन में मौजूद रिपॉज़िटरी का नाम. रिपॉज़िटरी का नाम ढूंढने के लिए, Google Cloud Console में Git रिपॉज़िटरी पेज पर जाएं. इसके बाद, रिपॉज़िटरी टैब में, टेबल में मौजूद कनेक्शन कॉलम में जाकर, कनेक्शन आईडी ढूंढें. संसाधन का नाम कॉपी करने के लिए, ज़्यादा विकल्पों के लिए more_vert मेन्यू पर क्लिक करें. इसके बाद, संसाधन का पाथ कॉपी करें चुनें.
    • BRANCH_NAMES: उन ब्रांच के नाम जिन्हें आपको इंडेक्स करना है. जैसे, main|dev.

    आपके पास JSON (या YAML) फ़ाइल में तय की गई रिपॉज़िटरी का इस्तेमाल करके, रिपॉज़िटरी ग्रुप बनाने का विकल्प भी है. इसके लिए, फ़ाइल को इस तरह से फ़ॉर्मैट करें:

    JSON

    [
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "main|dev"
      },
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "dev"
      }
    ]
    

    YAML

    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: main|dev
    
    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: dev
    

    JSON या YAML फ़ाइल के आधार पर कोई रिपॉज़िटरी ग्रुप बनाने के लिए, शेल एनवायरमेंट में gemini code-repository-indexes repository-groups create कमांड का इस्तेमाल करें:

    JSON

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.json
    

    YAML

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.yaml
    

    अगर आपको ठीक लगे, तो Cloud Key Management Service के ज़रिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजी (सीएमईके) का इस्तेमाल करके, अपने डेटा को एन्क्रिप्ट (सुरक्षित) किया जा सकता है और उसे कंट्रोल किया जा सकता है. सीएमईके का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, ग्राहक के मैनेज किए गए एन्क्रिप्शन कुंजियों की मदद से डेटा को एन्क्रिप्ट करना लेख पढ़ें.

  5. किसी प्रोजेक्ट पर, रिपॉज़िटरी ग्रुप को IAM भूमिकाएं असाइन करें.

    आपको सिर्फ़ इंडेक्स में मौजूद रिपॉज़िटरी से सुझाव मिलते हैं. हर रिपॉज़िटरी, एक या एक से ज़्यादा रिपॉज़िटरी ग्रुप से जुड़ी होती है. सुझावों को ऐक्सेस करने के लिए, आपको Cloud AI Companion Repository Groups User IAM role (roles/cloudaicompanion.repositoryGroupsUser) असाइन करनी होगी. इसमें cloudaicompanion.repositoryGroups.user IAM की ज़रूरी अनुमति शामिल होती है. इसे रिपॉज़िटरी ग्रुप को असाइन करने के लिए, इनमें से कोई एक तरीका अपनाएं:

    • प्रिंसिपल को पूरे इंडेक्स को ऐक्सेस करने की अनुमति दें.
    • मुख्य खातों को इंडेक्स के सबसेट का ऐक्सेस दें.

    पूरा इंडेक्स

    1. किसी प्रोजेक्ट के लिए IAM नीति को बाइंड करने के लिए, शेल एनवायरमेंट में projects add-iam-policy-binding कमांड का इस्तेमाल करें:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member='PRINCIPAL' \
          --role='roles/cloudaicompanion.repositoryGroupsUser'
      

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

      • PRINCIPAL: उस प्रिंसिपल का ईमेल पता जिसे ऐक्सेस की ज़रूरत है. उदाहरण के लिए, user:test-user@gmail.com किसी व्यक्ति के लिए या group:admins@example.com किसी ग्रुप के लिए.

      ज़्यादा जानकारी के लिए, gcloud projects set-iam-policy देखें.

    2. जब आपसे कोई शर्त तय करने के लिए कहा जाए, तब None डालें.

    इंडेक्स का सबसेट

    एक से ज़्यादा रिपॉज़िटरी ग्रुप बनाए जा सकते हैं. साथ ही, अलग-अलग आईएएम प्रिंसिपल को आईएएम की भूमिकाएं असाइन की जा सकती हैं.

    IAM नीति सेट अप करने के लिए, आपको IAM नीति की JSON या YAML फ़ाइल तैयार करनी होगी. इसमें IAM ग्रुप और असाइन की गई भूमिकाओं की सूची शामिल होगी. उदाहरण के लिए:

      bindings:
      - members:
        - group:my-group@example.com
        - user:test-user@example.com
        role: roles/cloudaicompanion.repositoryGroupsUser
    

    ज़्यादा जानकारी और सिंटैक्स के लिए, अनुमति देने की नीतियों के बारे में जानकारी लेख पढ़ें.

    आईएएम नीति सेट करने के लिए, शेल एनवायरमेंट में gemini code-repository-indexes repository-groups set-iam-policy कमांड का इस्तेमाल करें:

      gcloud gemini code-repository-indexes repository-groups set-iam-policy GROUP_NAMEPOLICY_FILE \
          --project=PROJECT_ID \
          --location=REGION \
          --code-repository-index=INDEX_NAME
    

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

    • GROUP_NAME: यह रिपॉज़िटरी ग्रुप का वह नाम है जिसे आपने पिछले चरण में बनाया था. इसका इस्तेमाल, रिपॉज़िटरी ग्रुप का इस्तेमाल करके अपने इंडेक्स के ऐक्सेस को कंट्रोल करने के लिए किया जाता है.
    • POLICY_FILE: आईएएम नीति.

      ज़्यादा जानकारी के लिए, gcloud gemini code-repository-indexes repository-groups set-iam-policy देखें.

Terraform

  1. पुष्टि करें कि आपने Developer Connect को कॉन्फ़िगर किया हो और उसे अपनी रिपॉज़िटरी से कनेक्ट किया हो:

  2. कोई इंडेक्स बनाना. कोड को पसंद के मुताबिक बनाने की सुविधा, इंडेक्स पर निर्भर करती है. इंडेक्स, आपकी रिपॉज़िटरी का विश्लेषण करता है और उसे पार्स करता है. इससे कोड जनरेट करने के सुझाव तेज़ी से मिलते हैं और लुकअप भी तेज़ी से होता है.

    resource "google_gemini_code_repository_index" "example" {
      location = "REGION"
      code_repository_index_id = "INDEX_NAME"
    }
    

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

    • INDEX_NAME: आपके इंडेक्स का नाम. अहम जानकारी: अपने इंडेक्स का नाम नोट करें. इस दस्तावेज़ में दिए गए कई चरणों को पूरा करने के लिए, आपको इसकी ज़रूरत होगी.
    • PROJECT_ID: यह आपके Google Cloud प्रोजेक्ट का आईडी है.
    • REGION: वह क्षेत्र जिसे आपके Cloud प्रोजेक्ट में Developer Connect में कॉन्फ़िगर किया गया है.

    आम तौर पर, इंडेक्स बनाने में 30 मिनट लगते हैं. हालांकि, इसमें एक घंटा भी लग सकता है.

    Google, हर प्रोजेक्ट और संगठन के लिए कोड रिपॉज़िटरी इंडेक्स की संख्या को एक तक सीमित रखता है.

  3. रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स का ऐक्सेस कंट्रोल करें. रिपॉज़िटरी ग्रुप, इंडेक्सिंग कॉन्फ़िगरेशन के लिए एक कंटेनर होता है. इसमें रिपॉज़िटरी और उनके ब्रांच पैटर्न शामिल होते हैं. रिपॉज़िटरी ग्रुप को IAM के बेहतर कंट्रोल के लिए डिज़ाइन किया गया है. इससे डेवलपर को उन ग्रुप से इंडेक्स किए गए डेटा का ऐक्सेस मिलता है जहां उनके पास cloudaicompanion.repositoryGroups.use अनुमति है.

    रिपॉज़िटरी ग्रुप में, एक ही प्रोजेक्ट और जगह की Developer Connect रिपॉज़िटरी या लिंक होते हैं.

    एडमिन ये काम कर सकते हैं:

    • Repository Index रिसॉर्स के लिए कोड बनाएं.
    • उसी प्रोजेक्ट और जगह में, Developer Connect का नया कनेक्शन कॉन्फ़िगर करें.
    • कनेक्शन में Git रिपॉज़िटरी लिंक करें.
    • लिंक के संसाधन के नाम पाएं, हर लिंक के लिए इंडेक्स करने के लिए ब्रांच पैटर्न चुनें, और उसे एक या एक से ज़्यादा रिपॉज़िटरी ग्रुप में डालें.
    resource "google_gemini_repository_group" "example" {
      location = "REGION"
      code_repository_index = "INDEX_NAME"
      repository_group_id = "REPOSITORY_GROUP"
      repositories {
        resource = "REPOSITORY_RESOURCE_NAME"
        branch_pattern = "BRANCH_NAMES"
      }
    }
    

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

    • REPOSITORY_GROUP: रिपॉज़िटरी ग्रुप का नाम, जैसे कि default.
    • REPOSITORY_RESOURCE_NAME: Developer Connect कनेक्शन में मौजूद रिपॉज़िटरी का नाम. रिपॉज़िटरी का नाम ढूंढने के लिए, Google Cloud Console में Git रिपॉज़िटरी पेज पर जाएं. इसके बाद, रिपॉज़िटरी टैब में, टेबल के कनेक्शन कॉलम में जाकर कनेक्शन आईडी ढूंढें. संसाधन का नाम कॉपी करने के लिए, ज़्यादा विकल्पों के लिए more_vert मेन्यू पर क्लिक करें. इसके बाद, संसाधन का पाथ कॉपी करें चुनें.
    • BRANCH_NAMES: उन ब्रांच के नाम जिन्हें आपको इंडेक्स करना है. जैसे, main|dev.

    JSON (या YAML) फ़ाइल में तय की गई रिपॉज़िटरी का इस्तेमाल करके, रिपॉज़िटरी ग्रुप भी बनाया जा सकता है. इसके लिए, फ़ाइल को इस तरह से फ़ॉर्मैट करें:

    JSON

    [
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "main|dev"
      },
      {
          "resource": "REPOSITORY_RESOURCE_NAME", "branchPattern": "dev"
      }
    ]
    

    YAML

    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: main|dev
    
    - resource: REPOSITORY_RESOURCE_NAME
      branchPattern: dev
    

    JSON या YAML फ़ाइल के आधार पर कोई रिपॉज़िटरी ग्रुप बनाने के लिए, शेल एनवायरमेंट में gemini code-repository-indexes repository-groups create कमांड का इस्तेमाल करें:

    JSON

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.json
    

    YAML

    gcloud gemini code-repository-indexes repository-groups create REPOSITORY_GROUP \
        --project=PROJECT_ID \
        --location=REGION \
        --code-repository-index=INDEX_NAME \
        --repositories=FILEPATH.yaml
    

    अगर आपको ठीक लगे, तो Cloud Key Management Service के ज़रिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजी (सीएमईके) का इस्तेमाल करके, अपने डेटा को एन्क्रिप्ट (सुरक्षित) किया जा सकता है और उसे कंट्रोल किया जा सकता है. सीएमईके का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, ग्राहक के मैनेज किए गए एन्क्रिप्शन कुंजियों की मदद से डेटा को एन्क्रिप्ट करना लेख पढ़ें.

  4. किसी प्रोजेक्ट पर, रिपॉज़िटरी ग्रुप को IAM भूमिकाएं असाइन करें.

    आपको सिर्फ़ इंडेक्स में मौजूद रिपॉज़िटरी से सुझाव मिलते हैं. हर रिपॉज़िटरी, एक या एक से ज़्यादा रिपॉज़िटरी ग्रुप से जुड़ी होती है. सुझावों को ऐक्सेस करने के लिए, आपको Cloud AI Companion Repository Groups User IAM role (roles/cloudaicompanion.repositoryGroupsUser) असाइन करनी होगी. इसमें cloudaicompanion.repositoryGroups.user IAM की ज़रूरी अनुमति शामिल होती है. इसे रिपॉज़िटरी ग्रुप को असाइन करने के लिए, इनमें से कोई एक तरीका अपनाएं:

    • प्रिंसिपल को पूरे इंडेक्स को ऐक्सेस करने की अनुमति दें.
    • मुख्य खातों को इंडेक्स के सबसेट का ऐक्सेस दें.

    पूरा इंडेक्स

    1. किसी प्रोजेक्ट के लिए IAM नीति को बाइंड करने के लिए, शेल एनवायरमेंट में projects add-iam-policy-binding कमांड का इस्तेमाल करें:

      gcloud projects add-iam-policy-binding PROJECT_ID \
          --member='PRINCIPAL' \
          --role='roles/cloudaicompanion.repositoryGroupsUser'
      

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

      • PRINCIPAL: उस प्रिंसिपल का ईमेल पता जिसे ऐक्सेस की ज़रूरत है. उदाहरण के लिए, user:test-user@gmail.com किसी व्यक्ति के लिए या group:admins@example.com किसी ग्रुप के लिए.

        ज़्यादा जानकारी के लिए, gcloud projects set-iam-policy देखें.

    2. जब आपसे कोई शर्त तय करने के लिए कहा जाए, तब None डालें.

    इंडेक्स का सबसेट

    एक से ज़्यादा रिपॉज़िटरी ग्रुप बनाए जा सकते हैं. साथ ही, अलग-अलग आईएएम प्रिंसिपल को आईएएम की भूमिकाएं असाइन की जा सकती हैं.

      data "google_iam_policy" "foo" {
        binding {
          role = "roles/cloudaicompanion.repositoryGroupsUser"
          members = ["test-user@example.com"]
        }
      }
    
      resource "google_gemini_repository_group_iam_policy" "foo" {
        project = "PROJECT_ID"
        location = "REGION"
        code_repository_index_id = "INDEX_NAME"
        repository_group_id = "GROUP_NAME"
        policy_data = data.google_iam_policy.foo.policy_data
      }
    
      data "google_gemini_repository_group_iam_policy" "foo" {
        project = "PROJECT_ID"
        location = "REGION"
        code_repository_index_id = "INDEX_NAME"
        repository_group_id = "GROUP_NAME"
        depends_on = [
          google_gemini_repository_group_iam_policy.foo
        ]
      }
    

    बाइंडिंग भी बनाई जा सकती है:

      resource "google_gemini_repository_group_iam_binding" "foo" {
        project = "PROJECT_ID"
        location = "REGION"
        code_repository_index_id = "INDEX_NAME"
        repository_group_id = "GROUP_NAME"
        role = "roles/cloudaicompanion.repositoryGroupsUser"
        members = ["test-user@example.com"]
      }
    

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

    • GROUP_NAME: रिपॉज़िटरी ग्रुप का वह नाम जिसे आपने पिछले चरण में बनाया था. इससे रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स के ऐक्सेस को कंट्रोल किया जा सकता है.

इंडेक्सिंग की स्थिति देखना

आपको जितनी रिपॉज़िटरी इंडेक्स करनी हैं और उनका साइज़ जितना है उसके हिसाब से, कॉन्टेंट को इंडेक्स करने में 24 घंटे तक लग सकते हैं. बड़ी रिपॉज़िटरी को इंडेक्स करने में ज़्यादा समय लग सकता है. इंडेक्सिंग हर 24 घंटे में एक बार होती है. इसमें रिपॉज़िटरी में किए गए सभी बदलाव शामिल होते हैं.

  1. indexing लॉग खोजें. ज़्यादा जानकारी के लिए, क्वेरी की भाषा को लॉग करना लेख पढ़ें.

    कंसोल

    1. Google API Console में, लॉग एक्सप्लोरर पर जाएं.

      लॉग एक्सप्लोरर पर जाएं

    2. indexing लॉग देखने के लिए, लॉग के नाम वाले फ़िल्टर का इस्तेमाल करें.

    सीएलआई

    इंडेक्सिंग लॉग खोजने के लिए, शेल एनवायरमेंट में logging read कमांड का इस्तेमाल करें:

    gcloud logging read "logName="projects/PROJECT_ID/logs/indexing""
    

    PROJECT_ID की जगह उस प्रोजेक्ट का आईडी डालें जिसमें रिपॉज़िटरी ग्रुप मौजूद है.

    उदाहरण के लिए, indexing लॉग में गड़बड़ियां देखने के लिए, यह कमांड चलाएं:

    gcloud logging read "logName="projects/PROJECT_ID/logs/indexing" AND severity>=ERROR"
    
  2. इंडेक्स करने की जुड़ी हुई स्थितियां देखें. जैसे:

    • रिपॉज़िटरी की इंडेक्सिंग की शुरुआत-उदाहरण के लिए, Indexing repository REPOSITORY_NAME. Total number of repositories: 10, succeeded: 6, failed: 0.
    • अलग-अलग रिपॉज़िटरी की इंडेक्सिंग खत्म होने का समय-उदाहरण के लिए:
      • सफल हुआ: Successfully finished indexing repository REPOSITORY_NAME. Total number of repositories: 10, succeeded: 7, failed: 0.
      • पुष्टि नहीं हो सकी: Failed to index repository REPOSITORY_NAME. Error: [<error message>]. Total number of repositories: 10, succeeded: 7, failed: 1.
    • रिपॉज़िटरी की इंडेक्सिंग खत्म होने की तारीख. उदाहरण के लिए:
      • सफल हुआ: Finished indexing process. Repositories attempted: 10. Repositories successfully indexed: 9. Repositories unsuccessfully fetched: 0.
      • पुष्टि नहीं हो सकी: Finished indexing process. Repositories attempted: 10. Repositories successfully indexed: 9. Repositories unsuccessfully fetched: 1. Repositories that were not successfully fetched will be retried in the next run.

    इंडेक्स की स्थितियों में, REPOSITORY_NAME वह रिपॉज़िटरी है जिसकी आपको समीक्षा करनी है.

  3. इंडेक्सिंग से जुड़ी गड़बड़ियों की समीक्षा करें. जैसे:

    • रिपॉज़िटरी को फ़ेच नहीं किया जा सका.
    • रिपॉज़िटरी की फ़ाइलों की सूची नहीं बनाई जा सकी.
    • इंडेक्स से रिपॉज़िटरी की जानकारी नहीं मिल सकी.
    • इंडेक्स से फ़ाइलें वापस नहीं लाई जा सकीं.
    • कोई अंदरूनी गड़बड़ी हुई.

कोड को पसंद के मुताबिक बनाने की सुविधा का इस्तेमाल करना

कोड को पसंद के मुताबिक बनाने की सुविधा सेट अप करने के बाद, आपको कोड पूरा करने और कोड जनरेट करने के सुझाव दिखने लगेंगे. ये सुझाव, आपके इंडेक्स किए गए निजी कोड के साथ-साथ, पूरे कोडबेस की जानकारी के आधार पर मिल सकते हैं.

कोड को पसंद के मुताबिक बनाने और सबसे सही तरीकों के बारे में ज़्यादा जानने के लिए, यह लेख पढ़ें: कोड को पसंद के मुताबिक बनाना.

कोड को पसंद के मुताबिक बनाने की सुविधा बंद करना

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

कंसोल

  1. API Console में, Gemini Products पेज पर जाएं.

    Gemini के प्रॉडक्ट पर जाएँ

    Gemini प्रॉडक्ट पेज लोड होता है.

  2. नेविगेशन मेन्यू में, कोड को पसंद के मुताबिक बनाएं पर क्लिक करें.

    कोड कस्टमाइज़ेशन पेज लोड होता है.

  3. इंडेक्स मिटाने के लिए, इंडेक्स मिटाएं पर क्लिक करें.

    आपको एक चेतावनी वाला मैसेज दिखेगा. अगर आपको इंडेक्स मिटाना है, तो इंडेक्स का नाम डालें. इसके बाद, मिटाएं पर क्लिक करें.

सीएलआई

  1. शेल एनवायरमेंट में, मौजूदा इंडेक्स के लिए सभी रिपॉज़िटरी ग्रुप की सूची बनाने के लिए, gemini code-repository-indexes repository-groups list कमांड का इस्तेमाल करें:

    gcloud gemini code-repository-indexes repository-groups list --location=REGION \
        --project=PROJECT_ID \
        --code-repository-index=INDEX_NAME --uri
    

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

    • REGION: वह क्षेत्र जिसे आपके Cloud प्रोजेक्ट में Developer Connect में कॉन्फ़िगर किया गया है. ध्यान दें कि अगर आपने किसी ऐसे देश/इलाके का नाम डाला है जहां यह सुविधा काम नहीं करती, तो निर्देश पूरे नहीं होंगे. जिन देशों/इलाकों में यह सुविधा उपलब्ध है उनकी सूची देखने के लिए, कोड को पसंद के मुताबिक बनाने से जुड़ी सीमाएं लेख पढ़ें.
    • PROJECT_ID: यह आपके Google Cloud प्रोजेक्ट का आईडी है.
    • INDEX_NAME: इंडेक्स बनाने के लिए, पिछले चरण में बनाए गए इंडेक्स का नाम.
  2. मौजूदा इंडेक्स से किसी रिपॉज़िटरी ग्रुप को मिटाने के लिए, gemini code-repository-indexes repository-groups delete कमांड का इस्तेमाल करें:

    gcloud gemini code-repository-indexes repository-groups delete REPOSITORY_GROUP \
        --location=REGION \
        --project=PROJECT_ID \
        --code-repository-index=INDEX_NAME
    
  3. हर रिपॉज़िटरी ग्रुप के लिए, ऊपर दिया गया तरीका दोहराएं. ऐसा तब तक करें, जब तक इंडेक्स से सभी रिपॉज़िटरी ग्रुप मिट न जाएं.

  4. ज़रूरी नहीं: इंडेक्स मिटाने के लिए, शेल एनवायरमेंट में gemini code-repository-indexes delete कमांड का इस्तेमाल करें:

    gcloud gemini code-repository-indexes delete INDEX_NAME \
        --location=REGION \
        --project=PROJECT_ID
    

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