Gemini सीएलआई की मदद से डेवलपमेंट को तेज़ करना

1. खास जानकारी

इस लैब में, Google Cloud में एआई की मदद से काम करने वाले ओपन-सोर्स एजेंट, Gemini CLI का इस्तेमाल करने पर फ़ोकस किया गया है. इस कोडलैब में, Gemini CLI का इस्तेमाल करके अलग-अलग टास्क पूरे करने का तरीका बताया गया है. जैसे, मौजूदा कोडबेस को समझना, दस्तावेज़ और यूनिट टेस्ट जनरेट करना, और Python वेब ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) और बैकएंड कॉम्पोनेंट को रीफ़ैक्टर करना.

आपको क्या-क्या सीखने को मिलेगा

इस लैब में, आपको इन कामों को करने का तरीका मिलेगा:

  • डेवलपर के सामान्य कामों के लिए, Gemini CLI का इस्तेमाल कैसे करें.

ज़रूरी शर्तें

  • इस लैब में, यह मान लिया गया है कि आपको Cloud Console और Cloud Shell एनवायरमेंट के बारे में जानकारी है.

2. सेटअप और ज़रूरी शर्तें

Cloud Project का सेटअप

  1. Google Cloud Console में साइन इन करें और नया प्रोजेक्ट बनाएं या किसी मौजूदा प्रोजेक्ट का फिर से इस्तेमाल करें. अगर आपके पास पहले से कोई Gmail या Google Workspace खाता नहीं है, तो आपको एक खाता बनाना होगा.

fbef9caa1602edd0.pnga99b7ace416376c4.png5e3ff691252acf41.png

  • प्रोजेक्ट का नाम, इस प्रोजेक्ट में हिस्सा लेने वाले लोगों के लिए डिसप्ले नेम होता है. यह एक वर्ण स्ट्रिंग है, जिसका इस्तेमाल Google API नहीं करते हैं. इसे कभी भी अपडेट किया जा सकता है.
  • प्रोजेक्ट आईडी, सभी Google Cloud प्रोजेक्ट के लिए यूनीक होता है. साथ ही, इसे बदला नहीं जा सकता. Cloud Console, अपने-आप एक यूनीक स्ट्रिंग जनरेट करता है. आम तौर पर, आपको इससे कोई फ़र्क़ नहीं पड़ता कि यह क्या है. ज़्यादातर कोडलैब में, आपको अपने प्रोजेक्ट आईडी (आम तौर पर PROJECT_ID के तौर पर पहचाना जाता है) का रेफ़रंस देना होगा. अगर आपको जनरेट किया गया आईडी पसंद नहीं है, तो आपके पास कोई दूसरा रैंडम आईडी जनरेट करने का विकल्प होता है. इसके अलावा, आपके पास अपना नाम आज़माने का विकल्प भी है. इससे आपको पता चलेगा कि वह नाम उपलब्ध है या नहीं. इस चरण के बाद, इसे बदला नहीं जा सकता. यह प्रोजेक्ट की अवधि तक बना रहता है.
  • आपकी जानकारी के लिए बता दें कि एक तीसरी वैल्यू भी होती है, जिसे प्रोजेक्ट नंबर कहते हैं. इसका इस्तेमाल कुछ एपीआई करते हैं. इन तीनों वैल्यू के बारे में ज़्यादा जानने के लिए, दस्तावेज़ देखें.
  1. इसके बाद, आपको Cloud Console में बिलिंग की सुविधा चालू करनी होगी, ताकि Cloud संसाधनों/एपीआई का इस्तेमाल किया जा सके. इस कोडलैब को पूरा करने में ज़्यादा खर्च नहीं आएगा. इस ट्यूटोरियल के बाद बिलिंग से बचने के लिए, संसाधनों को शट डाउन करें. इसके लिए, बनाए गए संसाधनों को मिटाएं या प्रोजेक्ट को मिटाएं. Google Cloud के नए उपयोगकर्ताओं को, 300 डॉलर का क्रेडिट मुफ़्त में आज़माने का प्रोग्राम मिलता है.

एनवायरमेंट सेटअप करना

Gemini Chat खोलें.

bc3c899ac8bcf488.png

इसके अलावा, खोज बार में "Gemini से पूछें" टाइप करें.

e1e9ad314691368a.png

Google Cloud API के लिए Gemini को चालू करें:

636114fa6e5f0abf.png

अगली स्क्रीन पर जाकर, GCA चालू करें.

8e234b2e282c4413.png

इसे आज़माने के लिए, "Start chatting" पर क्लिक करें और सैंपल के तौर पर दिए गए किसी सवाल का इस्तेमाल करें या अपना प्रॉम्प्ट टाइप करें.

ed120d672468b412.png

ये प्रॉम्प्ट आज़माएँ:

  • Cloud Run के बारे में पांच मुख्य बातें बताओ.
  • तुम Google Cloud Run के प्रॉडक्ट मैनेजर हो. किसी छात्र को पांच मुख्य बातों में Cloud Run के बारे में बताओ.
  • आप Google Cloud Run के प्रॉडक्ट मैनेजर हैं. सर्टिफ़ाइड Kubernetes डेवलपर को पांच मुख्य बातों में Cloud Run के बारे में बताएं.
  • आप Google Cloud Run के प्रॉडक्ट मैनेजर हैं. आपको एक सीनियर डेवलपर को यह बताना है कि Cloud Run और GKE का इस्तेमाल कब किया जाता है. इसके लिए, पांच मुख्य बातों का इस्तेमाल करें.

काम पूरा होने के बाद, Gemini Cloud Assist की चैट विंडो बंद करें.

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

Gemini for Google Cloud, आपके डेटा का इस्तेमाल कैसे करता है

निजता बनाए रखने के लिए Google की प्रतिबद्धता

Google, इंडस्ट्री की उन कंपनियों में से एक है जिसने सबसे पहले एआई/एमएल से जुड़ी निजता की नीति पब्लिश की थी. इसमें बताया गया है कि हमारा मानना है कि ग्राहकों के पास, क्लाउड में स्टोर किए गए अपने डेटा की सुरक्षा और उस पर कंट्रोल करने का सबसे बेहतर विकल्प होना चाहिए.

सबमिट किया गया और मिला हुआ डेटा

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

प्रॉम्प्ट को एन्क्रिप्ट (सुरक्षित) करना

Gemini को प्रॉम्प्ट सबमिट करने पर, आपके डेटा को एन्क्रिप्ट (सुरक्षित) किया जाता है. ऐसा Gemini के मॉडल में इनपुट के तौर पर डेटा ट्रांसफ़र करते समय किया जाता है.

Gemini से जनरेट किया गया प्रोग्राम डेटा

Gemini को Google Cloud के पहले पक्ष के कोड के साथ-साथ, तीसरे पक्ष के चुने गए कोड पर भी ट्रेन किया गया है. आपके कोड की सुरक्षा, टेस्टिंग, और असरदार तरीके से काम करने की ज़िम्मेदारी आपकी है. इसमें Gemini से मिलने वाला कोड पूरा करने, जनरेट करने या विश्लेषण करने से जुड़ा कोई भी कोड शामिल है.

Google आपके प्रॉम्प्ट को कैसे मैनेज करता है, इस बारे में ज़्यादा जानें.

3. प्रॉम्प्ट की जांच करने के विकल्प

अगर आपको मौजूदा प्रॉम्प्ट बदलने हैं, तो आपके पास इसके लिए कई विकल्प हैं.

Vertex AI Studio, Google Cloud के Vertex AI प्लैटफ़ॉर्म का हिस्सा है. इसे खास तौर पर, जनरेटिव एआई मॉडल को आसानी से और तेज़ी से डेवलप करने और इस्तेमाल करने के लिए डिज़ाइन किया गया है.

Google AI Studio, वेब पर आधारित एक टूल है. इसका इस्तेमाल, प्रॉम्प्ट इंजीनियरिंग और Gemini API के साथ प्रोटोटाइप बनाने और एक्सपेरिमेंट करने के लिए किया जाता है.

Google Gemini का वेब ऐप्लिकेशन (gemini.google.com) एक वेब-आधारित टूल है. इसे Google के Gemini एआई मॉडल की क्षमताओं को एक्सप्लोर करने और उनका इस्तेमाल करने में आपकी मदद करने के लिए डिज़ाइन किया गया है.

4. ऐप्लिकेशन डाउनलोड और उसकी जांच करना

सर्च बार के दाईं ओर मौजूद आइकॉन पर क्लिक करके, Cloud Shell चालू करें.

3e0c761ca41f315e.png

अगर अनुमति देने के लिए कहा जाता है, तो जारी रखने के लिए "अनुमति दें" पर क्लिक करें.

6356559df3eccdda.png

Git repository को स्थानीय तौर पर क्लोन करने के लिए, टर्मिनल में यहां दी गई कमांड चलाएं.

git clone https://github.com/gitrey/calendar-app-lab
cd calendar-app-lab

"Cloud Shell Editor" शुरू करें.

18ca8f879206a382.png

"calendar-app-lab" फ़ोल्डर खोलें.

7cef847802b51038.png

Cloud Shell Editor में एक नया टर्मिनल शुरू करें.

3336bea9c0e999b9.png

आपका एनवायरमेंट, यहाँ दिए गए स्क्रीनशॉट जैसा होना चाहिए.

ae9475871b7d28a6.png

5. Gemini CLI के बारे में जानकारी

Gemini CLI, एआई की मदद से काम करने वाला ओपन-सोर्स एजेंट है. यह Google Cloud के Gemini मॉडल के साथ इंटिग्रेट होता है. इससे डेवलपर, सीधे अपने टर्मिनल से कई काम कर सकते हैं. जैसे, कोडबेस को समझना, दस्तावेज़ और यूनिट टेस्ट जनरेट करना, और कोड को रीफ़ैक्टर करना. Gemini CLI का मुख्य फ़ायदा यह है कि यह डेवलपमेंट वर्कफ़्लो को बेहतर बना सकता है. इसके लिए, यह जनरेटिव एआई की सुविधा को सीधे तौर पर डेवलपर के कमांड-लाइन एनवायरमेंट में उपलब्ध कराता है. इससे कॉन्टेक्स्ट स्विचिंग कम होती है और प्रॉडक्टिविटी बढ़ती है.

Qwiklabs एनवायरमेंट के लिए, एनवायरमेंट वैरिएबल सेट करने का यह चरण ज़रूरी नहीं है. अगले चरण पर जाएं.

अगर आपके संगठन ने पैसे चुकाकर Code Assist का लाइसेंस लिया है, तो अपने लोकल एनवायरमेंट में टर्मिनल में Google Cloud प्रोजेक्ट सेट करना न भूलें. ज़्यादा जानकारी.

export GOOGLE_CLOUD_PROJECT="YOUR_PROJECT_NAME"

देखें कि आप प्रोजेक्ट फ़ोल्डर के रूट में हैं या नहीं:

cd ~/calendar-app-lab

टर्मिनल विंडो में Gemini CLI शुरू करें:

gemini

आपका एनवायरमेंट, यहाँ दिए गए स्क्रीनशॉट जैसा होना चाहिए.

अगर स्थानीय एनवायरमेंट में दिए गए चरणों का पालन किया जा रहा है, तो अपने आईडीई के साथ इंटिग्रेशन चालू किया जा सकता है.

/ide disable | enable कमांड चलाकर, इसे कभी भी बदला जा सकता है.

eaee08868abb4ccd.png

अगर Qwiklabs एनवायरमेंट में लैब चलाया जा रहा है, तो "Use Cloud Shell user credentials" चुनें.

अगर ऐसा नहीं है, तो यहां दी गई कमांड चलाकर Gemini CLI की पुष्टि करें और "Login with Google" को चुनें:

/auth

सीएलआई को रीस्टार्ट करने के बाद, आपको दिए गए लिंक पर जाकर ऐप्लिकेशन को अनुमति देने के लिए कहा जाएगा.

390e8cbd9a32e8eb.png

लिंक खोलें और Qwiklabs के छात्र खाते के क्रेडेंशियल से साइन इन करने के लिए, दिया गया तरीका अपनाएं. 24c1671a3c14b61d.png

पुष्टि करने के लिए कोड कॉपी करें और टर्मिनल पर वापस जाकर, कोड चिपकाकर प्रोसेस पूरी करें.

पुष्टि करने के तरीके की पुष्टि करने के लिए, यह कमांड चलाएं:

/about

f15a4036437b84d5.png

6. कोडबेस को समझना

Gemini CLI का इस्तेमाल करके, कोडबेस के बारे में तुरंत जानकारी पाई जा सकती है. इसके लिए, Gemini CLI से फ़ाइलों या डायरेक्ट्री के मकसद के बारे में खास जानकारी देने के लिए कहें. साथ ही, उससे कोड के मुश्किल फ़ंक्शन या सेक्शन के बारे में बताने के लिए कहें. इससे डेवलपर को नए प्रोजेक्ट पर तुरंत काम शुरू करने या मौजूदा कोड के उन हिस्सों को समझने में मदद मिलती है जिनके बारे में उन्हें जानकारी नहीं है. इसके लिए, उन्हें मैन्युअल तरीके से कोड की बारीकी से जांच करने की ज़रूरत नहीं पड़ती.

कोडबेस के बारे में ज़्यादा जानने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें:

Don't suggest any changes. Explain this codebase to me.

आउटपुट की समीक्षा करें:

63b57c91fd0e90a8.png

7. ऐप्लिकेशन को स्थानीय तौर पर शुरू करना

Gemini CLI, Python ऐप्लिकेशन को स्थानीय तौर पर चलाने की प्रोसेस को आसान बना सकता है. यह requirements.txt या बुनियादी Dockerfile जैसी ज़रूरी कॉन्फ़िगरेशन फ़ाइलों को अपने-आप जनरेट करने में आपकी मदद करता है. इसके अलावा, यह Python की डिपेंडेंसी मैनेज करने और समस्याओं को हल करने के लिए भी बेहतरीन है. ऐसा इसलिए, क्योंकि यह पैकेज मौजूद न होने या वर्शन के टकराव की वजह से होने वाली ट्रेसबैक गड़बड़ियों के बारे में तुरंत बता सकता है. साथ ही, समस्या को ठीक करने के लिए, अक्सर सटीक pip install कमांड का सुझाव देता है.

ऐप्लिकेशन को स्थानीय तौर पर लॉन्च करने के लिए, Gemini CLI टर्मिनल में यह प्रॉम्प्ट डालें:

Run this app locally

आवेदन शुरू करने के लिए, दिए गए निर्देशों का पालन करें:

d1fefa449b733c15.png

ऐप्लिकेशन की झलक देखने के लिए, इस लिंक पर क्लिक करें:

695fc8a1abab0aa7.png

आउटपुट का उदाहरण:

e9f986d9088b4419.pngd2bb703195b4f99.png

8. दस्तावेज़ जोड़ना

Gemini CLI, दस्तावेज़ बनाने और टिप्पणी करने के लिए कारगर है. इसकी मदद से, फ़ंक्शन या क्लास के लिए docstring तुरंत जनरेट की जा सकती हैं. इसका इस्तेमाल, मुश्किल या अनजान कोड ब्लॉक में जानकारी देने वाली इनलाइन टिप्पणियां तुरंत जोड़ने के लिए भी किया जा सकता है. इससे कोडबेस को समझने में आसानी होती है और उसे बनाए रखने में मदद मिलती है.

ऐप्लिकेशन की हर Python फ़ाइल में टिप्पणियां जोड़ने के लिए, Gemini CLI टर्मिनल का इस्तेमाल करें और यह प्रॉम्प्ट डालें:

Add docstrings to all files

सुझाए गए बदलावों को स्वीकार करें. अगर आईडीई इंटिग्रेशन चालू है, तो यूज़र इंटरफ़ेस (यूआई) कंट्रोल का इस्तेमाल करके या टर्मिनल में Enter दबाकर, अनुरोध स्वीकार किया जा सकता है. "ctrl+y" की मदद से, अपने-आप मंज़ूरी मिलने वाला मोड(YOLO) भी चालू किया जा सकता है.

a41d76b77290cc10.png

.gitignore फ़ाइल को इस प्रॉम्प्ट के साथ अपडेट करें:

update .gitignore and add __pycache__ folder

सोर्स कंट्रोल व्यू पर स्विच करें और अब तक किए गए बदलावों की समीक्षा करें:

2c41f8b842573384.png

9. यूनिट टेस्ट जोड़ना

Gemini CLI, यूनिट टेस्ट लिखने के लिए एक बेहतरीन टूल है. यह डेवलपर को किसी मौजूदा फ़ंक्शन के सिग्नेचर और लॉजिक के आधार पर टेस्ट फ़ंक्शन जनरेट करने की सुविधा देता है. इसमें शुरुआती दावे और मॉक सेटअप भी शामिल होते हैं. हालांकि, डेवलपर को जनरेट की गई टेस्ट की समीक्षा और पुष्टि करनी होगी. इससे यह पक्का किया जा सकेगा कि वे सभी ज़रूरी एज केस को सही तरीके से कवर करते हैं और सिर्फ़ आसान पाथ एक्ज़ीक्यूशन नहीं करते.

यूनिट टेस्ट जनरेट करने के लिए, यहां दिए गए प्रॉम्प्ट का इस्तेमाल करें:

Generate unit tests for @calendar.py

बदलावों की समीक्षा करने के बाद, उन्हें स्वीकार करें.

6b59d78b83152a22.png

नई डिपेंडेंसी इंस्टॉल करें और टेस्ट चलाएं. Gemini CLI, जनरेट किए गए कोड को तब तक लूप में मॉनिटर करता रहेगा, उसमें सुधार करता रहेगा, और उसे फिर से चलाता रहेगा, जब तक कि टेस्ट पास न हो जाएं और कोड की पुष्टि न हो जाए.

ec1a4fbb2d340384.png

10. बग की जांच करना

Gemini CLI, लॉजिक में मौजूद गड़बड़ियों की जांच करने में मदद कर सकता है. इसके लिए, आपको इसे कोड स्निपेट की समीक्षा और विश्लेषण करने का निर्देश देना होगा. इससे, लॉजिक से जुड़ी संभावित गड़बड़ियों, एक से ज़्यादा गड़बड़ियों या शर्तों को गलत तरीके से हैंडल करने की पहचान की जा सकती है. कोड के काम करने के तरीके के बारे में बताकर और सीएलआई से गड़बड़ियों का पता लगाने के लिए कहकर, कोड चलाने से पहले ही छोटी-मोटी गड़बड़ियों का पता लगाया जा सकता है.

कन्वर्ज़न लॉजिक में किसी भी तरह की गड़बड़ी की जांच करने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें:

Are there any bugs in the conversion logic? Check if negative numbers are handled properly.

सुझाए गए बदलावों की समीक्षा करें और उन्हें चैट में स्वीकार करें:

54ef65ded5462b34.png

11. Refactor UI

Gemini CLI, यूज़र इंटरफ़ेस (यूआई) को फिर से व्यवस्थित करने में आपकी मदद कर सकता है. यह पुराने यूज़र इंटरफ़ेस (यूआई) पैटर्न (जैसे, क्लास कॉम्पोनेंट) को नए और ज़्यादा मॉडर्न फ़ंक्शनल पैराडाइम (जैसे, React में हुक) में बदलने में आपकी मदद कर सकता है. इसके अलावा, यह बेहतर रखरखाव के लिए स्ट्रक्चर में सुधार करने का सुझाव भी दे सकता है. इसका इस्तेमाल, मौजूदा यूज़र इंटरफ़ेस (यूआई) कोड का विश्लेषण करने और उसे फिर से बनाने के लिए किया जा सकता है. इससे, कोड को ज़्यादा मॉड्यूलर और दोबारा इस्तेमाल किए जा सकने वाले कॉम्पोनेंट में बदला जा सकता है. साथ ही, यह पक्का किया जा सकता है कि इंटरफ़ेस का डिज़ाइन ज़्यादा साफ़ और स्टैंडर्ड हो.

Gemini सीएलआई में यह प्रॉम्प्ट सबमिट करके, Bootstrap लाइब्रेरी का इस्तेमाल करके यूज़र इंटरफ़ेस (यूआई) को रीफ़ैक्टर करें:

Refactor UI to use Bootstrap library

बदलावों की समीक्षा करें और उन्हें स्वीकार करें:

16e6ca14e703127.png

शुरू करने के लिए, ऐप्लिकेशन लॉन्च करें. अगर यह पहले से चल रहा है, तो पेज को फिर से लोड करें.

python3 main.py

पेज को फिर से लोड करें और बदलाव देखें.

b52a709e902040e3.png54664e527bcd9227.png

गड़बड़ी को ठीक करने की सुविधा लागू करें, ताकि समस्या आने पर गड़बड़ी वाला पेज दिखे.

Implement error handling to display an error page when issues occur.

अपडेट देखने के लिए, कृपया पेज को रीफ़्रेश करें.

गड़बड़ी वाले पेज की पुष्टि करने के लिए, कोई नेगेटिव नंबर भेजें.

82e16d4cf25933db.png

12. बैकएंड को रीफ़ैक्टर करना

Gemini CLI, बैकएंड को फिर से व्यवस्थित करने के लिए असरदार है. यह लेगसी फ़्रेमवर्क कोड को आधुनिक विकल्पों पर माइग्रेट करने में मदद करता है. इसके अलावा, यह मोनोलिथिक सेवाओं को ज़्यादा आसानी से मैनेज किए जा सकने वाले माइक्रोसेवा कॉम्पोनेंट में बदलने में भी मदद करता है. यह सर्वर-साइड लॉजिक का विश्लेषण करके, बेहतर डेटाबेस क्वेरी पैटर्न या ज़्यादा असरदार एपीआई एंडपॉइंट डिज़ाइन का सुझाव दे सकता है. इससे यह पक्का किया जा सकता है कि परफ़ॉर्मेंस और स्केलेबिलिटी को बनाए रखा जाए या बेहतर बनाया जाए.

कन्वर्ज़न अनुरोधों को मेमोरी में सेव करने के लिए, बैकएंड में बदलाव करें.

Store requests in memory and create a page to display conversion history. Add links on all pages to view the history.

चैट में किए गए बदलावों की समीक्षा करें और उन्हें स्वीकार करें:

19cfa20552fb3a01.png

ऐप्लिकेशन को कई अनुरोध सबमिट करें. इसके बाद, इतिहास पेज की समीक्षा करें.

ac5639d18b341b0a.png

कन्वर्ज़न के अनुरोधों का इतिहास देखें.

9ca680e193510640.png

मौजूदा कोडबेस की स्थिति के साथ README.md फ़ाइल को अपडेट करने के लिए, Gemini CLI के ज़रिए यह प्रॉम्प्ट भेजें:

analyze README.md file and update it with latest codebase state

आउटपुट की समीक्षा करें. अगर आपने Cloud Shell इंटिग्रेशन की सुविधा चालू की है, तो बदलावों को ऐक्सेस करने के लिए यूज़र इंटरफ़ेस (यूआई) कंट्रोल का इस्तेमाल किया जा सकता है. इसके अलावा, टर्मिनल से भी ऐसा किया जा सकता है.

13. Gemini CLI में पहले से मौजूद टूल

Gemini के सीएलआई में ऐसे टूल शामिल होते हैं जो Gemini मॉडल को आपके लोकल एनवायरमेंट के साथ इंटरैक्ट करने, जानकारी ऐक्सेस करने, और कार्रवाइयां करने में मदद करते हैं. इन टूल से, CLI की क्षमताओं को बेहतर बनाया जा सकता है. इससे, यह सिर्फ़ टेक्स्ट जनरेट करने के अलावा, कई अन्य कामों में भी मदद कर सकता है.

उपलब्ध टूल देखने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें:

/tools

आउटपुट की समीक्षा करें.

e5ef2d9b81f6c10.png

Gemini CLI, आपके दिए गए टास्क के आधार पर सबसे सही बिल्ट-इन टूल को चुनता है. इससे यह आपके अनुरोध और उपलब्ध सुविधाओं को समझकर, मुश्किल कार्रवाइयां कर पाता है. पहले से मौजूद टूल के बारे में ज़्यादा जानें.

14. Gemini CLI Repo Init Command

Gemini CLI में, प्रोजेक्ट का विश्लेषण करने और ज़रूरत के मुताबिक GEMINI.md फ़ाइल बनाने का निर्देश शामिल होता है.

GEMINI.md फ़ाइल जनरेट करने के लिए, Gemini CLI का इस्तेमाल करके यह प्रॉम्प्ट भेजें:

/init

आउटपुट की समीक्षा करें. इस कमांड से एक GEMINI.md फ़ाइल बनेगी. इसमें प्रोजेक्ट के मकसद, टेक्नोलॉजी, बनाने/चलाने के निर्देशों, और डेवलपमेंट से जुड़ी शर्तों के बारे में जानकारी होगी, ताकि आने वाले समय में इसका इस्तेमाल किया जा सके.

अपने प्रोजेक्ट की GEMINI.md फ़ाइल में कौनसे निर्देश या कॉन्टेक्स्ट शामिल करने हैं, यह समझने के लिए, gemini-cli रिपॉज़िटरी में मौजूद GEMINI.md फ़ाइल देखें.

15. Gemini CLI की कस्टम कमांड

Gemini CLI में कस्टम कमांड का इस्तेमाल करके, डेवलपमेंट के वर्कफ़्लो को बेहतर बनाया जा सकता है. साथ ही, एक जैसा आउटपुट पाया जा सकता है. ये कमांड, आपके सबसे ज़्यादा इस्तेमाल किए जाने वाले प्रॉम्प्ट के लिए निजी शॉर्टकट के तौर पर काम करती हैं. आपके पास ऐसी कमांड बनाने का विकल्प होता है जो किसी एक प्रोजेक्ट के लिए खास तौर पर बनाई गई हों. इसके अलावा, आपके पास उन्हें अपने सभी प्रोजेक्ट के लिए उपलब्ध कराने का विकल्प भी होता है.

इस रिपॉज़िटरी में कई कस्टम कमांड होती हैं. ये .gemini/commands फ़ोल्डर में मौजूद होती हैं.

डायग्राम बनाने के लिए कस्टम कमांड

Mermaid फ़ॉर्मैट में अनुरोध फ़्लो डायग्राम जनरेट करने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें.

टूल के कॉल स्वीकार करना, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना.

/diagram:new request flow for this app

आउटपुट की समीक्षा करें.

a85a31f482a2cc7d.png

अगर आपको डायग्राम की झलक देखनी है, तो Marketplace से Mermaid Chart एक्सटेंशन इंस्टॉल करें.

22d4a002e2137b55.png

फ़ाइल खोलें और कॉन्टेक्स्ट मेन्यू से 'झलक देखें' को चुनें.

bccf0ae8ac46415f.pngc669fcd96c34662.png

डेक बनाने के लिए कस्टम कमांड

मुख्य पॉइंट के साथ Marp फ़ॉर्मैट में डेक जनरेट करने के लिए, Gemini CLI में यह प्रॉम्प्ट भेजें.

टूल के कॉल स्वीकार करना, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना.

/deck:new key points and details for this app

आउटपुट की समीक्षा करें.

c9aa767796204c7c.png

यह चरण Cloud Shell के साथ काम नहीं करता, क्योंकि Marp एक्सटेंशन के लिए वेब ब्राउज़र इंस्टॉल करना ज़रूरी है.

डेक को सेव करने के लिए, Marketplace से Marp for VS Code एक्सटेंशन इंस्टॉल करें.

a9d339718cbfcd9.png

इसके अलावा, जनरेट की गई फ़ाइल को एडिटर में खोलें और कमांड पैलेट से "Marp: Export Slide Deck" चुनें.

91143fe81f7f5d71.png

नई सुविधा लागू करने की योजना बनाने के लिए कस्टम कमांड

यूज़र इंटरफ़ेस (यूआई) को फिर से व्यवस्थित करने के लिए, इस प्रॉम्प्ट को Gemini CLI में भेजें.

टूल के कॉल स्वीकार करना, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना.

/plan:new refactor UI to use Materialize CSS

आउटपुट की समीक्षा करें.

552dbe189a493f91.png

पहले जनरेट किए गए प्लान के आधार पर, Gemini CLI के ज़रिए यह प्रॉम्प्ट सबमिट करके, यूज़र इंटरफ़ेस (यूआई) को फिर से बनाने की प्रोसेस शुरू करें.

टूल के कॉल स्वीकार करना, जैसे कि फ़ोल्डर बनाना और फ़ाइल सेव करना. "ctrl+y" का इस्तेमाल करके, टूल के अपने-आप मंज़ूरी पाने वाले मोड(YOLO mode) को चालू किया जा सकता है.

/plan:impl implement the plan to refactor the app

a3ceec7146f285e0.png

ऐप्लिकेशन को शुरू/फिर से लोड करें और आउटपुट की समीक्षा करें:

fd0675f713d361e4.png7352b93acabfb5be.png

16. Gemini CLI का नॉन-इंटरैक्टिव मोड

CI/CD पाइपलाइन में नॉन-इंटरैक्टिव मोड में Gemini सीएलआई को चलाने पर, कई टास्क को ऑटोमेट किया जा सकता है. इसके लिए, आपको प्रॉम्प्ट और कमांड को सीधे सीएलआई में पास करना होगा. इसमें मैन्युअल तरीके से कोई कार्रवाई करने की ज़रूरत नहीं होगी. इससे कोड का विश्लेषण करने, दस्तावेज़ जनरेट करने, और डेवलपमेंट से जुड़े अन्य कामों के लिए, ऑटोमेटेड वर्कफ़्लो में आसानी से इंटिग्रेट किया जा सकता है.

नया टर्मिनल खोलें या Gemini CLI के मौजूदा सेशन को बंद करें और यह कमांड चलाएं.

gemini -p "Explain the architecture of this codebase"

आउटपुट की समीक्षा करें.

अगर आपके टास्क के लिए टूल की मंज़ूरी ज़रूरी होगी, तो -y फ़्लैग का इस्तेमाल करके YOLO मोड चालू किया जा सकता है.

gemini -p "Explain the architecture of this codebase and save the file in the markdown format in the docs folder" -y

आउटपुट की समीक्षा करें.

नॉन-इंटरैक्टिव मोड में Gemini CLI का इस्तेमाल करके, CI/CD पाइपलाइन की ऑटोमेशन क्षमताओं को बेहतर बनाया जा सकता है. इससे डेवलपमेंट साइकल ज़्यादा असरदार होते हैं और कोड की क्वालिटी बेहतर होती है.

17. Gemini CLI का शेल मोड

एलएलएम मुश्किल टास्क को हैंडल करते हैं, जबकि सीधे तौर पर दिए गए निर्देश आसान टास्क के लिए ज़्यादा असरदार होते हैं. ! prefix की मदद से, एआई और पारंपरिक कमांड-लाइन इंटरफ़ेस के बीच आसानी से स्विच किया जा सकता है.

!ls

आउटपुट की समीक्षा करें. शेल मोड से बाहर निकलने के लिए, Escape दबाएं.

18. Gemini CLI में एमसीपी की सुविधा

Gemini CLI, मॉडल कॉन्टेक्स्ट प्रोटोकॉल (एमसीपी) के ज़रिए Jira, Confluence या GitHub जैसे तीसरे पक्ष के सिस्टम के साथ इंटिग्रेट हो सकता है. यह एमसीपी सर्वर के कस्टम टूल इंटिग्रेशन के ज़रिए किया जाता है. इससे Gemini CLI, JIRA टिकट बना सकता है या उन्हें अपडेट कर सकता है, Confluence पेजों से जानकारी पा सकता है, पुल अनुरोध बना सकता है वगैरह.

कॉन्फ़िगरेशन फ़ाइल बनाने के लिए, टर्मिनल में यह कमांड चलाएं या शेल मोड का इस्तेमाल करें.

echo '{
    "mcpServers": {
        "context7": {
            "httpUrl": "https://mcp.context7.com/mcp"
        }
    }
}' > .gemini/settings.json

Gemini CLI सेशन शुरू करें:

gemini

कॉन्फ़िगर किए गए एमसीपी सर्वर की पुष्टि करें:

/mcp

आउटपुट की समीक्षा करना

c80d95544cc3436a.png

कॉन्फ़िगर किए गए एमसीपी सर्वर की जांच करने के लिए, प्रॉम्प्ट भेजें:

use context7 tools to look up how to implement flex grid in react mui library 

टूल को अनुमति दें और आउटपुट की समीक्षा करें.

b51db5af09bd3f02.png

19. आपके लोकल एनवायरमेंट के लिए, एमसीपी सर्वर के कॉन्फ़िगरेशन का उदाहरण

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

{
    "mcpServers": {
        "Snyk Security Scanner": {
            "command": "snyk",
            "args": [
                "mcp",
                "-t",
                "stdio",
                "--experimental"
            ],
            "env": {}
        },
        "atlassian": {
            "command": "npx",
            "args": [
                "-y",
                "mcp-remote",
                "https://mcp.atlassian.com/v1/sse"
            ]
        },
        "playwright": {
            "command": "npx",
            "args": [
                "@playwright/mcp@latest"
            ]
        },
        "github": {
            "command": "npx",
            "args": [
                "-y",
                "@modelcontextprotocol/server-github"
            ],
            "env": {
                "GITHUB_PERSONAL_ACCESS_TOKEN": "******"
            }
        }
    }
}

इस कॉन्फ़िगरेशन में एमसीपी सर्वर, Gemini CLI एजेंट को डाइनैमिक डेवलपमेंट और सहयोग वाले टूल में बदल देते हैं. ऐसा इसलिए होता है, क्योंकि ये बाहरी सिस्टम को स्टैंडर्ड ऐक्सेस देते हैं. खास तौर पर, Snyk Security Scanner सर्वर, एजेंट को आपके मौजूदा वर्कस्पेस से बाहर निकले बिना, कोड और डिपेंडेंसी में मौजूद कमियों की जांच करने की अनुमति देता है. वहीं, Atlassian सर्वर, Jira और Confluence से कनेक्ट होता है. इससे Gemini CLI को नैचुरल लैंग्वेज का इस्तेमाल करके, समस्याओं या दस्तावेज़ों को बनाने, खोजने, और अपडेट करने की सुविधा मिलती है. इसके अलावा, Playwright सर्वर, एजेंट को ब्राउज़र ऑटोमेशन की सुविधाएँ देता है. इससे एजेंट, वेब पर नेविगेट कर पाता है और टेस्टिंग या डेटा निकालने जैसे टास्क के लिए वेब से इंटरैक्ट कर पाता है. आखिर में, Github सर्वर एजेंट को आपकी रिपॉज़िटरी का कॉन्टेक्स्ट के हिसाब से सीधा ऐक्सेस देता है. इससे एजेंट को पीआर मैनेज करने, समस्याओं को प्राथमिकता देने, और कोड बेस का विश्लेषण करने की अनुमति मिलती है. इससे अलग-अलग ऐप्लिकेशन, टैब या प्रोजेक्ट के बीच स्विच करने से जुड़ी समस्या में काफ़ी कमी आती है और आपके पूरे डेवलपमेंट वर्कफ़्लो में प्रॉडक्टिविटी बढ़ती है.

20. Gemini CLI के बारे में जानकारी

कुल मिलाकर, Gemini CLI एक शक्तिशाली और कई तरह के काम करने वाला ओपन-सोर्स एआई एजेंट है. यह Google Cloud के Gemini मॉडल के साथ आसानी से इंटिग्रेट हो जाता है. इससे डेवलपर की प्रॉडक्टिविटी काफ़ी बढ़ जाती है. इस लैब में, हमने डेवलपमेंट से जुड़े कई सामान्य कामों को आसान बनाने में Gemini की क्षमताओं के बारे में जाना. जैसे, मुश्किल कोडबेस को समझना, ज़रूरी दस्तावेज़ और यूनिट टेस्ट जनरेट करना, और Python वेब ऐप्लिकेशन के फ़्रंटएंड और बैकएंड कॉम्पोनेंट को बेहतर तरीके से रीफ़ैक्टर करना. Gemini CLI का इस्तेमाल करके, डेवलपर कॉन्टेक्स्ट स्विचिंग को कम कर सकते हैं. साथ ही, बार-बार की जाने वाली प्रोसेस को ऑटोमेट कर सकते हैं. इससे, वे बेहतर क्वालिटी वाला कोड ज़्यादा आसानी से डिलीवर कर पाते हैं. जनरेटिव एआई की मदद से कमांड लाइन पर सीधे तौर पर काम करने की इसकी क्षमता, डेवलपमेंट के काम करने के तरीके में वाकई में क्रांतिकारी बदलाव लाती है.

21. बधाई हो!

बधाई हो, आपने कोडलैब पूरा कर लिया है!

हमने इन विषयों पर बात की:

  • डेवलपर के सामान्य कामों के लिए, Gemini CLI का इस्तेमाल करना

इसके बाद क्या होगा:

  • प्रैक्टिकल सेशन के लिए और भी वर्कशॉप आने वाली हैं!

व्यवस्थित करें

इस ट्यूटोरियल में इस्तेमाल किए गए संसाधनों के लिए, अपने Google Cloud खाते से शुल्क न लिए जाने के लिए, संसाधनों वाला प्रोजेक्ट मिटाएं या प्रोजेक्ट को बनाए रखें और अलग-अलग संसाधनों को मिटाएं.

प्रोजेक्ट मिटाना

बिलिंग को बंद करने का सबसे आसान तरीका यह है कि ट्यूटोरियल के लिए बनाया गया प्रोजेक्ट मिटा दिया जाए.

©2024 Google LLC सभी अधिकार सुरक्षित हैं. Google और Google का लोगो, Google LLC के ट्रेडमार्क हैं. दूसरी सभी कंपनियां और प्रॉडक्ट के नाम, उन कंपनियों के ट्रेडमार्क हो सकते हैं जिनसे वे जुड़े हुए हैं.