इस दस्तावेज़ में, Google Cloud Console, Google Cloud CLI या Terraform में Gemini Code Assist की कोड को पसंद के मुताबिक बनाने की सुविधा को सेट अप करने का तरीका बताया गया है. इसके लिए, Gemini Code Assist को अपने निजी कोड रिपॉज़िटरी से कनेक्ट करें. Gemini Code Assist में कोड को पसंद के मुताबिक बनाने की सुविधा मिलती है. इसकी मदद से, आपको कोड से जुड़े सुझाव मिलते हैं. ये सुझाव, आपकी कंपनी की इंटरनल लाइब्रेरी, निजी एपीआई, और कोडिंग स्टाइल से लिए जाते हैं.
शुरू करने से पहले
- Enterprise सदस्यता के साथ Gemini Code Assist सेट अप करें.
पुष्टि करें कि आपके पास उस प्रोजेक्ट के लिए, पहचान और ऐक्सेस मैनेजमेंट की ये भूमिकाएं हों जिसके पास सदस्यता का मालिकाना हक है:
- कोड रिपॉज़िटरी इंडेक्स का एडमिन (
roles/cloudaicompanion.codeRepositoryIndexesAdmin) - Google Cloud के लिए Gemini का इस्तेमाल करने वाला व्यक्ति (
roles/cloudaicompanion.user)
- कोड रिपॉज़िटरी इंडेक्स का एडमिन (
उपयोगकर्ता खाते बनाएं या उन्हें कॉन्फ़िगर करें. आपके संगठन में Gemini Code Assist का इस्तेमाल करने वाले हर डेवलपर के पास, Google Cloud में उपयोगकर्ता की पहचान होनी चाहिए. साथ ही, उसके पास आपके Google Cloud प्रोजेक्ट को ऐक्सेस करने की अनुमति होनी चाहिए. ज़्यादा जानकारी के लिए, Google Cloud Console में भूमिकाएं असाइन करना लेख पढ़ें. पुष्टि करें कि हर उपयोगकर्ता के पास ये भूमिकाएं हैं:
कोड को पसंद के मुताबिक बनाने की सुविधा, Developer Connect का इस्तेमाल करके आपकी निजी रिपॉज़िटरी को ऐक्सेस और इंडेक्स करती है. पक्का करें कि Developer Connect का वह देश/इलाका, कोड में बदलाव करने की सुविधा के लिए भी उपलब्ध हो जहां Developer Connect रिपॉज़िटरी कनेक्शन मौजूद है. अगर Developer Connect कनेक्शन, उन देशों/इलाकों में उपलब्ध नहीं है जहां कोड को पसंद के मुताबिक बनाने की सुविधा काम करती है, तो इस सुविधा का इस्तेमाल नहीं किया जा सकता. जिन देशों/इलाकों में यह सुविधा उपलब्ध है उनकी सूची देखने के लिए, कोड में बदलाव करने से जुड़ी सीमाएं लेख पढ़ें.
चुनें कि किन रिपॉज़िटरी को इंडेक्स किया गया है
सबसे सही तरीके के तौर पर, आपको ऐसी रिपॉज़िटरी को इंडेक्स करना चाहिए जिनमें ये विशेषताएं हों:
- ऐसा कोड जो आपके डेवलपर के लिखे गए कोड के स्टाइल या स्ट्रक्चर से मिलता-जुलता हो.
- निजी लाइब्रेरी या एपीआई, जिन्हें आपको अपने मौजूदा कोडबेस से कॉल करना है.
ज़रूरी नहीं: चुनें कि किन फ़ाइलों को इंडेक्स नहीं किया गया है
डिफ़ॉल्ट रूप से, कोड को पसंद के मुताबिक बनाने की सुविधा, आपकी चुनी गई रिपॉज़िटरी में मौजूद इस्तेमाल की जा सकने वाली सभी कोड फ़ाइलों को इंडेक्स करती है.
अगर आपको ऐसे कोड को इंडेक्स होने से रोकना है जिसे इंडेक्स नहीं करना है, तो ब्रांच पैटर्न का इस्तेमाल करके, अपने इंडेक्स के ऐक्सेस को कंट्रोल करें. साथ ही, main जैसी स्टेबल ब्रांच का इस्तेमाल करें.
इसके अलावा, इंडेक्स से फ़ाइलों को बाहर रखने के लिए, .aiexclude फ़ाइल बनाई जा सकती है.
Gemini Code Assist में कोड को पसंद के मुताबिक बनाने की सुविधा कॉन्फ़िगर करना
निम्न विकल्पों में से कोई एक चुनें:
कंसोल
Google Cloud Console में, कोड को पसंद के मुताबिक बनाएं पेज पर जाएं.
Gemini Code Assist के लिए कोड को पसंद के मुताबिक बनाने की सुविधा पर जाएं
Gemini Code Assist के लिए कोड को पसंद के मुताबिक बनाएं पेज लोड होता है.
कोई इंडेक्स बनाएं. कोड को पसंद के मुताबिक बनाने की सुविधा, इंडेक्स पर निर्भर करती है. इंडेक्स का इस्तेमाल, आपकी रिपॉज़िटरी का विश्लेषण करने और उसे पार्स करने के लिए किया जाता है. इससे कोड जनरेट करने के सुझाव तेज़ी से मिलते हैं और लुकअप भी तेज़ी से होता है.
बनाएं पर क्लिक करें और इंडेक्स की जानकारी कॉन्फ़िगर करें:
- वह इलाका चुनें जिसे आपने Cloud प्रोजेक्ट में Developer Connect में कॉन्फ़िगर किया है.
- अपने इंडेक्स के लिए कोई नाम डालें. अपने इंडेक्स का नाम नोट करें. इस दस्तावेज़ में कई चरणों के लिए, आपको इसकी ज़रूरत होगी.
बनाएं पर क्लिक करें.
आम तौर पर, इंडेक्स बनने में 30 मिनट लगते हैं. हालांकि, इसमें एक घंटा भी लग सकता है. इंडेक्सिंग पूरी होने पर, आपको Google Cloud Console में एक सूचना मिलती है.
Google, हर प्रोजेक्ट और संगठन के लिए कोड रिपॉज़िटरी इंडेक्स की संख्या को एक तक सीमित रखता है.
रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स का ऐक्सेस कंट्रोल करें.
रिपॉज़िटरी ग्रुप, इंडेक्सिंग कॉन्फ़िगरेशन के लिए एक कंटेनर होता है. इसमें रिपॉज़िटरी और उनके ब्रांच पैटर्न शामिल होते हैं. रिपॉज़िटरी ग्रुप को, IAM के बेहतर कंट्रोल के लिए डिज़ाइन किया गया है. इससे डेवलपर को उन ग्रुप से इंडेक्स किए गए डेटा का ऐक्सेस मिलता है जिनके लिए उनके पास
cloudaicompanion.repositoryGroups.useअनुमति है.रिपॉज़िटरी ग्रुप में, एक ही प्रोजेक्ट और जगह की Developer Connect रिपॉज़िटरी या लिंक होते हैं.
Gemini Code Assist के लिए कोड को पसंद के मुताबिक बनाएं पेज पर, रिपॉज़िटरी जोड़ें पर क्लिक करें. इसके बाद, सोर्स रिपॉज़िटरी जोड़ें को चुनें.
इस सूची में, Developer Connect में मौजूद उन रिपॉज़िटरी को दिखाया गया है जिन्हें आपने इंडेक्स बनाने के लिए, पिछले चरण में कॉन्फ़िगर किया था.
अगर आपको रिपॉज़िटरी ग्रुप में नई रिपॉज़िटरी जोड़नी हैं, तो रिपॉज़िटरी लिंक करें पर क्लिक करें. इसके बाद, Google Cloud Console में दिए गए निर्देशों का पालन करें.
इसके अलावा, नई ब्रांच जोड़ने के लिए, एक या उससे ज़्यादा रिपॉज़िटरी चुनी जा सकती हैं. इसके बाद, उनमें बदलाव किया जा सकता है.
वह रिपॉज़िटरी ग्रुप चुनें जिसमें आपको नई रिपॉज़िटरी जोड़नी हैं. इसके अलावा, नया रिपॉज़िटरी ग्रुप बनाने और उसे कॉन्फ़िगर करने के लिए, नया रिपॉज़िटरी ग्रुप बनाएं पर क्लिक करें.
चुनी गई रिपॉज़िटरी को इंडेक्स करने के लिए, इंडेक्स करें पर क्लिक करें.
रिपॉज़िटरी के साइज़ के हिसाब से, इंडेक्स होने में लगने वाला समय अलग-अलग होता है.
सीएलआई
- पुष्टि करें कि आपने Developer Connect को कॉन्फ़िगर किया हो और उसे अपनी रिपॉज़िटरी से कनेक्ट किया हो:
शेल एनवायरमेंट में,
gcloud components updateकमांड चलाकर यह पुष्टि करें कि आपने gcloud के सभी इंस्टॉल किए गए कॉम्पोनेंट को नए वर्शन में अपडेट कर दिया है. इस चरण के लिए, gcloud को इंस्टॉल और शुरू किया जा सकता है. इसके अलावा, Cloud Shell Editor का इस्तेमाल किया जा सकता है.gcloud components updateकोई इंडेक्स बनाएं. कोड को पसंद के मुताबिक बनाने की सुविधा, इंडेक्स पर निर्भर करती है. इंडेक्स का इस्तेमाल, आपकी रिपॉज़िटरी का विश्लेषण करने और उसे पार्स करने के लिए किया जाता है. इससे कोड जनरेट करने के सुझाव तेज़ी से मिलते हैं और लुकअप भी तेज़ी से होता है.
इंडेक्स बनाने के लिए, शेल एनवायरमेंट में
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, हर प्रोजेक्ट और संगठन के लिए कोड रिपॉज़िटरी इंडेक्स की संख्या को एक तक सीमित रखता है.
रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स का ऐक्सेस कंट्रोल करें. रिपॉज़िटरी ग्रुप, इंडेक्सिंग कॉन्फ़िगरेशन के लिए एक कंटेनर होता है. इसमें रिपॉज़िटरी और उनके ब्रांच पैटर्न शामिल होते हैं. रिपॉज़िटरी ग्रुप को IAM के बेहतर कंट्रोल के लिए डिज़ाइन किया गया है. इससे डेवलपर को उन ग्रुप से इंडेक्स किए गए डेटा का ऐक्सेस मिलता है जहां उनके पास
cloudaicompanion.repositoryGroups.useअनुमति है.रिपॉज़िटरी ग्रुप में, एक ही प्रोजेक्ट और जगह से Developer Connect रिपॉज़िटरी या लिंक होते हैं.
एडमिन ये काम कर सकते हैं:
- कोड रिपॉज़िटरी इंडेक्स संसाधन बनाएं.
- उसी प्रोजेक्ट और जगह पर, 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: devJSON या 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.jsonYAML
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 के ज़रिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजी (सीएमईके) का इस्तेमाल करें. सीएमईके का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, ग्राहक के मैनेज किए गए एन्क्रिप्शन कुंजियों की मदद से डेटा को एन्क्रिप्ट करना लेख पढ़ें.
किसी प्रोजेक्ट पर, डेटाबेस ग्रुप को IAM भूमिकाएं असाइन करें.
आपको सिर्फ़ इंडेक्स में मौजूद रिपॉज़िटरी से सुझाव मिलते हैं. हर रिपॉज़िटरी, एक या एक से ज़्यादा रिपॉज़िटरी ग्रुप से जुड़ी होती है. सुझाव ऐक्सेस करने के लिए, आपको Cloud AI Companion Repository Groups User IAM role (
roles/cloudaicompanion.repositoryGroupsUser) असाइन करनी होगी. इसमेंcloudaicompanion.repositoryGroups.userIAM की ज़रूरी अनुमति शामिल होती है. इसे असाइन करने के लिए, इनमें से कोई एक तरीका अपनाएं:- प्रिंसिपल को पूरे इंडेक्स को ऐक्सेस करने की अनुमति दें.
मुख्य खातों को इंडेक्स के सबसेट का ऐक्सेस दें.
पूरा इंडेक्स
किसी प्रोजेक्ट के लिए 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देखें.जब आपसे कोई शर्त तय करने के लिए कहा जाए, तब
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
पुष्टि करें कि आपने Developer Connect को कॉन्फ़िगर किया हो और उसे अपनी रिपॉज़िटरी से कनेक्ट किया हो:
कोई इंडेक्स बनाएं. कोड को पसंद के मुताबिक बनाने की सुविधा, इंडेक्स पर निर्भर करती है. इंडेक्स का इस्तेमाल, आपकी रिपॉज़िटरी का विश्लेषण करने और उसे पार्स करने के लिए किया जाता है. इससे कोड जनरेट करने के सुझाव तेज़ी से मिलते हैं और लुकअप भी तेज़ी से होता है.
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, हर प्रोजेक्ट और संगठन के लिए कोड रिपॉज़िटरी इंडेक्स की संख्या को एक तक सीमित रखता है.
रिपॉज़िटरी ग्रुप का इस्तेमाल करके, अपने इंडेक्स का ऐक्सेस कंट्रोल करें. रिपॉज़िटरी ग्रुप, इंडेक्सिंग कॉन्फ़िगरेशन के लिए एक कंटेनर होता है. इसमें रिपॉज़िटरी और उनके ब्रांच पैटर्न शामिल होते हैं. रिपॉज़िटरी ग्रुप को 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: devJSON या 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.jsonYAML
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 के ज़रिए, ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजी (सीएमईके) का इस्तेमाल करें. सीएमईके का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, ग्राहक के मैनेज किए गए एन्क्रिप्शन कुंजियों की मदद से डेटा को एन्क्रिप्ट करना लेख पढ़ें.
किसी प्रोजेक्ट पर, डेटाबेस ग्रुप को IAM भूमिकाएं असाइन करें.
आपको सिर्फ़ इंडेक्स में मौजूद रिपॉज़िटरी से सुझाव मिलते हैं. हर रिपॉज़िटरी, एक या एक से ज़्यादा रिपॉज़िटरी ग्रुप से जुड़ी होती है. सुझाव ऐक्सेस करने के लिए, आपको Cloud AI Companion Repository Groups User IAM role (
roles/cloudaicompanion.repositoryGroupsUser) असाइन करनी होगी. इसमेंcloudaicompanion.repositoryGroups.userIAM की ज़रूरी अनुमति शामिल होती है. इसे असाइन करने के लिए, इनमें से कोई एक तरीका अपनाएं:- प्रिंसिपल को पूरे इंडेक्स को ऐक्सेस करने की अनुमति दें.
मुख्य खातों को इंडेक्स के सबसेट का ऐक्सेस दें.
पूरा इंडेक्स
किसी प्रोजेक्ट के लिए 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देखें.
जब आपसे कोई शर्त तय करने के लिए कहा जाए, तब
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 घंटे में एक बार होती है. इसमें रिपॉज़िटरी में किए गए सभी बदलाव शामिल होते हैं.
indexingलॉग खोजें. ज़्यादा जानकारी के लिए, क्वेरी की भाषा को लॉग करना लेख पढ़ें.कंसोल
Google Cloud Console में, लॉग एक्सप्लोरर पर जाएं.
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"इंडेक्स करने की जुड़ी हुई स्थितियां देखें. जैसे:
- रिपॉज़िटरी की इंडेक्सिंग की शुरुआत-उदाहरण के लिए,
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वह रिपॉज़िटरी है जिसकी आपको समीक्षा करनी है.- रिपॉज़िटरी की इंडेक्सिंग की शुरुआत-उदाहरण के लिए,
इंडेक्सिंग से जुड़ी गड़बड़ियों की समीक्षा करें. जैसे:
- रिपॉज़िटरी को फ़ेच नहीं किया जा सका.
- रिपॉज़िटरी की फ़ाइलों की सूची नहीं बनाई जा सकी.
- इंडेक्स से रिपॉज़िटरी की जानकारी नहीं मिल सकी.
- इंडेक्स से फ़ाइलें वापस नहीं लाई जा सकीं.
- कोई अंदरूनी गड़बड़ी हुई.
कोड को पसंद के मुताबिक बनाने की सुविधा का इस्तेमाल करना
कोड को पसंद के मुताबिक बनाने की सुविधा सेट अप करने के बाद, आपको कोड पूरा करने और कोड जनरेट करने के सुझाव दिखने लगेंगे. ये सुझाव, आपके इंडेक्स किए गए निजी कोड के साथ-साथ पूरे कोडबेस की जानकारी के आधार पर दिए जा सकते हैं.
जिन डेवलपर को ऐसे रिपॉज़िटरी ग्रुप में जोड़ा गया है जहां कम से कम एक संसाधन इंडेक्स किया गया है उन्हें उनके आईडीई में एक सूचना मिलेगी. इसमें बताया जाएगा कि कोड को पसंद के मुताबिक बनाने की सुविधा चालू कर दी गई है. कोड को पसंद के मुताबिक बनाने की सुविधा का स्टेटस देखने के लिए, डेवलपर सबसे नीचे दाएं कोने में मौजूद spark Gemini सिंबल पर क्लिक कर सकते हैं. इसके बाद, वे खोज बार में कोड को पसंद के मुताबिक बनाने की सुविधा का इनमें से कोई स्टेटस देख सकते हैं:
- हो गया. कोड के ज़रिए विज्ञापन को पसंद के मुताबिक बनाने की सुविधा चालू हो और उसे कॉन्फ़िगर किया गया हो.
- उपलब्ध नहीं है. डेवलपर के पास रिपॉज़िटरी ग्रुप का ऐक्सेस नहीं है या जिस रिपॉज़िटरी ग्रुप का ऐक्सेस उपयोगकर्ता के पास है वह खाली है.
- Unset. एडमिन ने कोड कस्टमाइज़ेशन की सुविधा चालू नहीं की है या इसे कॉन्फ़िगर नहीं किया है.
कोड को पसंद के मुताबिक बनाने और सबसे सही तरीकों के बारे में ज़्यादा जानने के लिए, यहां जाएं: कोड को पसंद के मुताबिक बनाना.
कोड को पसंद के मुताबिक बनाने की सुविधा बंद करना
निम्न विकल्पों में से कोई एक चुनें:
कंसोल
Google Cloud Console में, Gemini Products पेज पर जाएं.
Gemini प्रॉडक्ट पेज लोड होता है.
नेविगेशन मेन्यू में, कोड को पसंद के मुताबिक बनाएं पर क्लिक करें.
कोड को पसंद के मुताबिक बनाएं पेज लोड होता है.
इंडेक्स मिटाने के लिए, मिटाएं पर क्लिक करें.
आपको एक चेतावनी वाला मैसेज दिखेगा. अगर आपको इंडेक्स मिटाना है, तो इंडेक्स का नाम डालें. इसके बाद, मिटाएं पर क्लिक करें.
सीएलआई
शेल एनवायरमेंट में, मौजूदा इंडेक्स के लिए सभी रिपॉज़िटरी ग्रुप की सूची बनाने के लिए,
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: इंडेक्स बनाने के लिए, पिछले चरण में बनाए गए इंडेक्स का नाम.
मौजूदा इंडेक्स से किसी रिपॉज़िटरी ग्रुप को मिटाने के लिए,
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हर रिपॉज़िटरी ग्रुप के लिए, ऊपर दिया गया तरीका दोहराएं. ऐसा तब तक करें, जब तक इंडेक्स से सभी रिपॉज़िटरी ग्रुप मिट न जाएं.
ज़रूरी नहीं: इंडेक्स मिटाने के लिए, शेल एनवायरमेंट में जाकर,
gemini code-repository-indexes deleteकमांड का इस्तेमाल करें:gcloud gemini code-repository-indexes delete INDEX_NAME \ --location=REGION \ --project=PROJECT_ID
आगे क्या करना है
- Gemini Code Assist का इस्तेमाल शुरू करें:
- VS Code, IntelliJ, और JetBrains के अन्य आईडीई: Gemini Code Assist की मदद से कोड करना
- Cloud Shell: Gemini Code Assist की मदद से कोड लिखना
- Cloud Workstations: Gemini Code Assist की मदद से कोड लिखना
- कोड को पसंद के मुताबिक बनाने की सुविधा इस्तेमाल करने और सबसे सही तरीकों के बारे में जानें.
- ग्राहक की ओर से मैनेज की जाने वाली एन्क्रिप्शन कुंजियों (सीएमईके) की मदद से डेटा को एन्क्रिप्ट करने का तरीका जानें.
- Developer Connect के बारे में ज़्यादा जानें.
- जानें कि Gemini for Google Cloud, आपके डेटा का इस्तेमाल कब और कैसे करता है.