1. शुरू करने से पहले
इस कोडलैब में, आपको अपने ऐप्लिकेशन में जनरेटिव एआई को इंटिग्रेट करने के लिए, Genkit का इस्तेमाल करने का तरीका बताया जाएगा. Genkit एक ओपन सोर्स फ़्रेमवर्क है. यह एआई की मदद से काम करने वाले ऐसे ऐप्लिकेशन बनाने, उन्हें डिप्लॉय करने, और उनकी परफ़ॉर्मेंस को मॉनिटर करने में आपकी मदद करता है जो प्रोडक्शन के लिए तैयार हैं.
Genkit को ऐप्लिकेशन डेवलपर के लिए डिज़ाइन किया गया है. इससे आपको अपने ऐप्लिकेशन में एआई की बेहतर सुविधाओं को आसानी से इंटिग्रेट करने में मदद मिलती है. साथ ही, इसमें जाने-पहचाने पैटर्न और पैराडाइम का इस्तेमाल किया जाता है. इसे Firebase टीम ने बनाया है. इसके लिए, हमने ऐसे टूल बनाने के अपने अनुभव का इस्तेमाल किया है जिनका इस्तेमाल दुनिया भर के लाखों डेवलपर करते हैं.
ज़रूरी शर्तें
- Firestore, Node.js, और TypeScript की जानकारी.
आपको क्या सीखने को मिलेगा
- Firestore की ऐडवांस वेक्टर सिमिलैरिटी सर्च की सुविधाओं का इस्तेमाल करके, बेहतर ऐप्लिकेशन बनाने का तरीका.
- Genkit का इस्तेमाल करके, अपने ऐप्लिकेशन में जनरेटिव एआई को लागू करने का तरीका.
- अपने समाधान को डिप्लॉयमेंट और इंटिग्रेशन के लिए तैयार करें.
आपको इनकी ज़रूरत होगी
- अपनी पसंद का ब्राउज़र, जैसे कि Google Chrome
- कोड एडिटर और टर्मिनल वाला डेवलपमेंट एनवायरमेंट
- Firebase प्रोजेक्ट बनाने और उसे मैनेज करने के लिए Google खाता
2. इस्तेमाल किए गए वेब ऐप्लिकेशन और क्लाउड सेवाओं की समीक्षा करें
इस सेक्शन में, आपको इस कोडलैब की मदद से बनाए जाने वाले वेब ऐप्लिकेशन की समीक्षा करने के साथ-साथ, इस्तेमाल की जाने वाली क्लाउड सेवाओं के बारे में भी जानकारी मिलेगी.
वेब ऐप्लिकेशन
इस कोडलैब में, आपको Compass नाम के ऐप्लिकेशन के कोडबेस पर काम करना होगा. यह ऐप्लिकेशन, छुट्टियों की योजना बनाने के लिए बनाया गया है. उपयोगकर्ता कोई जगह चुन सकते हैं, वहां की गतिविधियों के बारे में जान सकते हैं, और अपनी यात्रा के लिए यात्रा कार्यक्रम बना सकते हैं.
इस कोडलैब में, आपको दो नई सुविधाएं लागू करनी होंगी. इनका मकसद, ऐप्लिकेशन के होम पेज पर उपयोगकर्ता की दिलचस्पी बढ़ाना है. ये दोनों सुविधाएं, जनरेटिव एआई की मदद से काम करती हैं:
- ऐप्लिकेशन, फ़िलहाल डेस्टिनेशन की स्टैटिक सूची दिखाता है. इसे डाइनैमिक में बदलें!
- आपको अपने-आप भरने वाली यात्रा की योजना लागू करनी होगी, ताकि उपयोगकर्ताओं की दिलचस्पी बढ़ाई जा सके.
इस्तेमाल की गई सेवाएं
इस कोडलैब में, आपको Firebase और Cloud की कई सेवाओं और सुविधाओं का इस्तेमाल करना होगा. साथ ही, इनके लिए ज़्यादातर स्टार्टर कोड आपको दिया गया है. इस टेबल में, इस्तेमाल की जाने वाली सेवाओं और उन्हें इस्तेमाल करने की वजहों के बारे में बताया गया है.
सेवा | इस्तेमाल करने की वजह |
Genkit का इस्तेमाल, Node.js / Next.js ऐप्लिकेशन में जनरेटिव एआई को शामिल करने के लिए किया जाता है. | |
डेटा को Cloud Firestore में सेव किया जाता है. इसके बाद, इसका इस्तेमाल वेक्टर सिमिलैरिटी सर्च के लिए किया जाता है. | |
आपने एआई की सुविधाओं को बेहतर बनाने के लिए, Vertex AI के बुनियादी मॉडल (जैसे कि Gemini) का इस्तेमाल किया हो. | |
आपके पास, नए और बेहतर Firebase ऐप्लिकेशन होस्टिंग का इस्तेमाल करने का विकल्प होता है. इससे, GitHub रिपॉज़िटरी से कनेक्ट किए गए डाइनैमिक Next.js वेब ऐप्लिकेशन को होस्ट किया जा सकता है. |
3. डेवलपमेंट एनवायरमेंट सेट अप करना
अपने Node.js वर्शन की पुष्टि करना
- अपने टर्मिनल में, पुष्टि करें कि आपने Node.js का 20.0.0 या उसके बाद का वर्शन इंस्टॉल किया है:
node -v
- अगर आपके पास Node.js का 20.0.0 या इसके बाद का वर्शन नहीं है, तो एलटीएस का नया वर्शन डाउनलोड करें और उसे इंस्टॉल करें.
कोडलैब के लिए सोर्स कोड पाना
अगर आपके पास GitHub खाता है, तो:
- github.com/FirebaseExtended/codelab-ai-genkit-rag
पर मौजूद हमारे टेंप्लेट का इस्तेमाल करके, नई रिपॉज़िटरी बनाएं
- आपने अभी-अभी जो कोडलैब की GitHub रिपॉज़िटरी बनाई है उसका लोकल क्लोन बनाएं:
git clone https://github.com/<your-github-handle>/codelab-ai-genkit-rag
अगर आपने git इंस्टॉल नहीं किया है या आपको नई repo नहीं बनानी है, तो:
GitHub रिपॉज़िटरी को zip फ़ाइल के तौर पर डाउनलोड करें.
फ़ोल्डर स्ट्रक्चर की समीक्षा करना
अपनी लोकल मशीन पर, क्लोन की गई रिपॉज़िटरी ढूंढें और फ़ोल्डर स्ट्रक्चर की समीक्षा करें:
फ़ोल्डर | ब्यौरा |
| Firestore कलेक्शन में डेटा को तेज़ी से पहले से भरने के लिए, हेल्पर कमांड लाइन टूल |
*अन्य सभी | Next.js वेब ऐप्लिकेशन का कोड |
रूट फ़ोल्डर में README.md
फ़ाइल शामिल होती है. इसमें वेब ऐप्लिकेशन को चलाने के लिए, आसान निर्देशों के साथ तुरंत शुरुआत करने की सुविधा मिलती है. हालांकि, अगर आपने पहली बार यह कोडलैब इस्तेमाल किया है, तो आपको क्विकस्टार्ट के बजाय इस कोडलैब को पूरा करना चाहिए. ऐसा इसलिए, क्योंकि इस कोडलैब में निर्देशों का सबसे ज़्यादा सेट शामिल है.
अगर आपको यह पक्का नहीं है कि आपने इस कोडलैब में दिए गए निर्देशों के मुताबिक कोड को सही तरीके से लागू किया है या नहीं, तो आपको end
git ब्रांच में समाधान कोड मिल सकता है.
Firebase CLI इंस्टॉल करना
- पुष्टि करें कि आपने Firebase CLI इंस्टॉल किया हो और उसका वर्शन 13.6 या इसके बाद का हो:
firebase --version
- अगर आपने Firebase CLI इंस्टॉल किया है, लेकिन यह 13.6 या इसके बाद का वर्शन नहीं है, तो इसे अपडेट करें:
npm update -g firebase-tools
- अगर आपने Firebase CLI इंस्टॉल नहीं किया है, तो इसे इंस्टॉल करें:
npm install -g firebase-tools
अगर अनुमति से जुड़ी गड़बड़ियों की वजह से, Firebase CLI को अपडेट या इंस्टॉल नहीं किया जा सकता, तो npm दस्तावेज़ देखें या इंस्टॉल करने का कोई दूसरा विकल्प इस्तेमाल करें.
Firebase में लॉग इन करना
- अपने टर्मिनल में, Firebase में लॉग इन करें:
अगर आपके टर्मिनल पर यह मैसेज दिखता है कि आपने Firebase में पहले से ही लॉग इन किया हुआ है, तो इस कोडलैब के Firebase प्रोजेक्ट सेट अप करें सेक्शन पर जाएं.firebase login
- अगर आपको Firebase से डेटा इकट्ठा करना है, तो अपने टर्मिनल में
Y
याN
डालें. (इस कोडलैब के लिए, दोनों में से कोई भी विकल्प काम करेगा) - अपने ब्राउज़र में, अपना Google खाता चुनें और अनुमति दें पर क्लिक करें.
Google Cloud का gcloud सीएलआई इंस्टॉल करना
- gcloud सीएलआई इंस्टॉल करें.
- अपने टर्मिनल में, Google Cloud में लॉग इन करें:
gcloud auth login
4. अपना Firebase प्रोजेक्ट सेट अप करना
इस सेक्शन में, आपको Firebase प्रोजेक्ट सेट अप करना होगा. साथ ही, उसमें Firebase वेब ऐप्लिकेशन रजिस्टर करना होगा. आपको कुछ ऐसी सेवाएं भी चालू करनी होंगी जिनका इस्तेमाल इस कोडलैब में बाद में सैंपल वेब ऐप्लिकेशन करेगा.
इस सेक्शन में दिए गए सभी चरण, Firebase कंसोल में पूरे किए जाते हैं.
Firebase प्रोजेक्ट बनाना
- Firebase कंसोल में उसी Google खाते से साइन इन करें जिसका इस्तेमाल आपने पिछले चरण में किया था.
- नया प्रोजेक्ट बनाने के लिए, बटन पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम डालें. उदाहरण के लिए,
Compass Codelab
.
- जारी रखें पर क्लिक करें.
- अगर आपसे कहा जाए, तो Firebase की शर्तें पढ़ें और स्वीकार करें. इसके बाद, जारी रखें पर क्लिक करें.
- (ज़रूरी नहीं) Firebase कंसोल में एआई की मदद पाने की सुविधा चालू करें. इसे "Firebase में Gemini" कहा जाता है.
- इस कोडलैब के लिए, आपको Google Analytics की ज़रूरत नहीं है. इसलिए, Google Analytics के विकल्प को टॉगल करके बंद करें.
- प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, प्रोजेक्ट के प्रोविज़न होने का इंतज़ार करें. इसके बाद, जारी रखें पर क्लिक करें.
अपने Firebase प्रोजेक्ट में कोई वेब ऐप्लिकेशन जोड़ना
- अपने Firebase प्रोजेक्ट में, प्रोजेक्ट की खास जानकारी स्क्रीन पर जाएं. इसके बाद,
वेब पर क्लिक करें.
- ऐप्लिकेशन का प्रचलित नाम टेक्स्ट बॉक्स में, ऐप्लिकेशन का कोई ऐसा प्रचलित नाम डालें जिसे आसानी से याद रखा जा सके. जैसे,
My Compass Codelab App
. Firebase Hosting सेट अप करने के लिए, चेक बॉक्स से सही का निशान हटाया जा सकता है. ऐसा इसलिए, क्योंकि इस कोडलैब के आखिरी चरण में, आपको होस्टिंग सेवा सेट अप करने का विकल्प मिलेगा. - ऐप्लिकेशन रजिस्टर करें > Console पर जाएं पर क्लिक करें.
बढ़िया! आपने अब अपने नए Firebase प्रोजेक्ट में एक वेब ऐप्लिकेशन रजिस्टर कर लिया है.
Firebase का प्राइसिंग प्लान अपग्रेड करना
Genkit और Vertex AI (और उनकी क्लाउड सेवाओं) का इस्तेमाल करने के लिए, आपका Firebase प्रोजेक्ट इस्तेमाल के हिसाब से शुल्क चुकाने वाले (Blaze) प्लान पर होना चाहिए. इसका मतलब है कि यह Cloud Billing खाते से लिंक होना चाहिए.
- Cloud Billing खाते के लिए, पेमेंट का कोई तरीका जोड़ना ज़रूरी है. जैसे, क्रेडिट कार्ड.
- अगर आपने हाल ही में Firebase और Google Cloud का इस्तेमाल शुरू किया है, तो देखें कि क्या आपको 300 डॉलर का क्रेडिट और मुफ़्त में आज़माने के लिए Cloud Billing खाता मिल सकता है.
- अगर आपको यह कोडलैब किसी इवेंट के हिस्से के तौर पर करना है, तो इवेंट के आयोजक से पूछें कि क्या Cloud क्रेडिट उपलब्ध हैं.
Vertex AI की कीमत के बारे में ज़्यादा जानें.
अपने प्रोजेक्ट को ब्लेज़ प्लान में अपग्रेड करने के लिए, यह तरीका अपनाएं:
- Firebase कंसोल में जाकर, अपने प्लान को अपग्रेड करें को चुनें.
- Blaze प्लान चुनें. किसी Cloud Billing खाते को अपने प्रोजेक्ट से लिंक करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
अगर आपको इस अपग्रेड के दौरान Cloud Billing खाता बनाना पड़ा है, तो अपग्रेड पूरा करने के लिए, आपको Firebase कंसोल में अपग्रेड करने की प्रोसेस पर वापस जाना पड़ सकता है.
Cloud Firestore सेट अप करना
- Firebase कंसोल के बाईं ओर मौजूद पैनल में, बनाएं को बड़ा करें. इसके बाद, Firestore डेटाबेस को चुनें.
- डेटाबेस बनाएं पर क्लिक करें.
- डेटाबेस आईडी को
(default)
पर सेट रहने दें. - अपने डेटाबेस के लिए कोई जगह चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
किसी असली ऐप्लिकेशन के लिए, आपको ऐसी जगह चुननी चाहिए जो आपके उपयोगकर्ताओं के आस-पास हो. - टेस्ट मोड में शुरू करें पर क्लिक करें. सुरक्षा के नियमों के बारे में डिसक्लेमर पढ़ें.
अपने डेटाबेस के लिए सुरक्षा के नियम जोड़े बिना, सार्वजनिक तौर पर किसी ऐप्लिकेशन को डिस्ट्रिब्यूट या उपलब्ध न करें. - बनाएं पर क्लिक करें.
Vertex AI चालू करना
Vertex AI को सेट अप करने के लिए, gcloud
CLI का इस्तेमाल करें. इस पेज पर मौजूद सभी कमांड के लिए, पक्का करें कि आपने YOUR_PROJECT_ID
की जगह अपने Firebase प्रोजेक्ट का आईडी डाला हो.
- अपने टर्मिनल में, Google Cloud SDK टूल के लिए डिफ़ॉल्ट प्रोजेक्ट सेट करें:
gcloud config set project YOUR_PROJECT_ID
- अगर आपको यह चेतावनी वाला मैसेज दिखता है: "चेतावनी: आपका चालू प्रोजेक्ट, आपकी स्थानीय ऐप्लिकेशन डिफ़ॉल्ट क्रेडेंशियल फ़ाइल में मौजूद कोटा प्रोजेक्ट से मेल नहीं खाता. इससे कोटा से जुड़ी समस्याएं हो सकती हैं." इसके बाद, कोटा प्रोजेक्ट सेट करने के लिए यह कमांड चलाएं:
gcloud auth application-default set-quota-project YOUR_PROJECT_ID
- अपने प्रोजेक्ट में Vertex AI सेवा चालू करें:
gcloud services enable aiplatform.googleapis.com
5. वेब ऐप्लिकेशन सेट अप करना
वेब ऐप्लिकेशन चलाने के लिए, आपको अपने टर्मिनल में कमांड चलाने होंगी. साथ ही, अपने कोड एडिटर में कोड जोड़ना होगा. इस पेज पर मौजूद सभी कमांड के लिए, पक्का करें कि आपने YOUR_PROJECT_ID
की जगह अपने Firebase प्रोजेक्ट का आईडी डाला हो.
अपने प्रोजेक्ट को टारगेट करने के लिए, Firebase CLI को कॉन्फ़िगर करना
- अपने टर्मिनल में, कोडलैब प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.
- Firebase CLI को अपने Firebase प्रोजेक्ट के लिए सभी कमांड चलाने की अनुमति देने के लिए, यह कमांड चलाएं:
firebase use YOUR_PROJECT_ID
Firestore में सैंपल डेटा इंपोर्ट करना
इसलिए, इस कोडलैब में आपको Firestore के लिए पहले से जनरेट किया गया सैंपल डेटा मिलता है, ताकि आप तुरंत शुरू कर सकें.
- लोकल कोडबेस को ऐसा कोड चलाने की अनुमति देने के लिए जो आम तौर पर सेवा खाते का इस्तेमाल करता है, अपने टर्मिनल में यह कमांड चलाएं:
इससे आपके ब्राउज़र में एक नया टैब खुलेगा. उसी Google खाते से लॉग इन करें जिसका इस्तेमाल आपने पिछले चरणों में किया था.gcloud auth application-default login
- Firestore के सैंपल डेटा को इंपोर्ट करने के लिए, ये कमांड चलाएं:
cd load-firestore-data npm ci node index.js YOUR_PROJECT_ID cd ..
- पुष्टि करें कि डेटा आपके डेटाबेस में जोड़ दिया गया है. इसके लिए, Firebase कंसोल में अपने Firebase प्रोजेक्ट के Firestore सेक्शन पर जाएं. आपको इंपोर्ट किया गया डेटा स्कीमा और उसका कॉन्टेंट दिखेगा.
अपने वेब ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट करना
आपके वेब ऐप्लिकेशन के कोडबेस को सही Firebase प्रोजेक्ट से जोड़ा जाना चाहिए, ताकि डेटाबेस जैसी सेवाओं का इस्तेमाल किया जा सके. इसके लिए, आपको अपने ऐप्लिकेशन के कोडबेस में Firebase कॉन्फ़िगरेशन जोड़ना होगा. इस कॉन्फ़िगरेशन में, प्रोजेक्ट आईडी, ऐप्लिकेशन का एपीआई पासकोड, और ऐप्लिकेशन आईडी जैसी ज़रूरी वैल्यू शामिल होती हैं. साथ ही, इसमें ऐसी अन्य वैल्यू भी शामिल होती हैं जिनकी मदद से आपका ऐप्लिकेशन, Firebase के साथ इंटरैक्ट कर पाता है.
- अपने ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन पाएं:
- Firebase कंसोल में, अपने Firebase प्रोजेक्ट पर जाएं.
- बाईं ओर मौजूद पैनल में, प्रोजेक्ट की खास जानकारी के बगल में मौजूद गियर आइकॉन पर क्लिक करें. इसके बाद, प्रोजेक्ट की सेटिंग चुनें.
- "आपके ऐप्लिकेशन" कार्ड में जाकर, अपना वेब ऐप्लिकेशन चुनें.
- "एसडीके सेटअप और कॉन्फ़िगरेशन" सेक्शन में जाकर, कॉन्फ़िगरेशन विकल्प चुनें.
- स्निपेट कॉपी करें. यह
const firebaseConfig ...
से शुरू होती है.
- अपने वेब ऐप्लिकेशन के कोडबेस में Firebase कॉन्फ़िगरेशन जोड़ें:
- अपने कोड एडिटर में,
src/lib/genkit/genkit.config.ts
फ़ाइल खोलें. - उस सेक्शन को कॉपी किए गए कोड से बदलें.
- फ़ाइल सेव करें.
- अपने कोड एडिटर में,
अपने ब्राउज़र में वेब ऐप्लिकेशन की झलक देखना
- अपने टर्मिनल में, डिपेंडेंसी इंस्टॉल करें. इसके बाद, वेब ऐप्लिकेशन चलाएं:
npm install npm run dev:next
- वेब ऐप्लिकेशन देखने के लिए, अपने ब्राउज़र में जाकर, स्थानीय तौर पर होस्ट किए गए होस्टिंग यूआरएल पर जाएं. उदाहरण के लिए, ज़्यादातर मामलों में यूआरएल http://localhost:3000/ या इससे मिलता-जुलता होता है.
Compass, React Server Components का इस्तेमाल करने वाला Next.js ऐप्लिकेशन है. यह उसका होम पेज है.
अपनी पसंदीदा यात्रा ढूंढें पर क्लिक करें. इसमें कुछ तय डेस्टिनेशन के लिए, हार्ड-कोड किया गया डेटा दिखाया गया है:
बेझिझक एक्सप्लोर करें. जब आप आगे बढ़ने के लिए तैयार हों, तो सबसे ऊपर दाएं कोने में मौजूद होम बटन पर क्लिक करें.
6. Genkit की मदद से जनरेटिव एआई के बारे में ज़्यादा जानें
अब अपने ऐप्लिकेशन में जनरेटिव एआई का इस्तेमाल किया जा सकता है! कोडलैब के इस सेक्शन में, आपको ऐसी सुविधा लागू करने के बारे में जानकारी मिलेगी जो उपयोगकर्ता की ओर से दी गई जानकारी के आधार पर, यात्रा के लिए जगहों के सुझाव देती है. जनरेटिव मॉडल के लिए, Genkit और Google Cloud के Vertex AI का इस्तेमाल किया जाएगा. इसमें Gemini का इस्तेमाल किया जाएगा.
Genkit, ट्रेस और फ़्लो की स्थिति को सेव कर सकता है. इससे आपको Genkit फ़्लो को एक्ज़ीक्यूट करने के नतीजे की जांच करने में मदद मिलती है. इस कोडलैब में, इन ट्रेस को सेव करने के लिए Firestore का इस्तेमाल किया जाएगा.
इस कोडलैब के आखिरी चरण में, आपको अपने Genkit ऐप्लिकेशन को Firebase ऐप्लिकेशन होस्टिंग पर डिप्लॉय करना होगा.
अपने Genkit ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट करना
हमने पिछले चरण में src/lib/genkit/genkit.config.ts
में बदलाव करके, Genkit को आपके प्रोजेक्ट से पहले ही कनेक्ट कर दिया है.
Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) लॉन्च करना
Genkit में वेब पर आधारित यूज़र इंटरफ़ेस (यूआई) होता है. इसकी मदद से, एलएलएम, Genkit फ़्लो, रिट्रीवर, और एआई के अन्य कॉम्पोनेंट के साथ इंटरैक्ट किया जा सकता है.
अपने टर्मिनल में, यह कमांड चलाएं:
npm run dev:genkit
अपने ब्राउज़र में, स्थानीय तौर पर होस्ट किए गए Genkit के यूआरएल पर जाएं. ज़्यादातर मामलों में, यह http://localhost:4000/ होता है.
Gemini के साथ इंटरैक्ट करना
अब Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, काम करने वाले किसी भी मॉडल या अन्य एआई कॉम्पोनेंट से इंटरैक्ट किया जा सकता है. जैसे, प्रॉम्प्ट, रिट्रीवर, और Genkit फ़्लो.
उदाहरण के लिए, Gemini से छुट्टियों के लिए कोई जगह सुझाने के लिए कहें. ध्यान दें कि अपनी खास ज़रूरतों के हिसाब से मॉडल के व्यवहार को कंट्रोल करने के लिए, सिस्टम के निर्देशों का इस्तेमाल कैसे किया जा सकता है. यह उन मॉडल के लिए भी काम करता है जिनमें सिस्टम के निर्देशों को नेटिव तौर पर इस्तेमाल करने की सुविधा नहीं होती.
प्रॉम्प्ट मैनेज करना
Genkit, Dotprompt नाम का एक प्लगिन और टेक्स्ट फ़ॉर्मैट लॉन्च कर रहा है. इसे जनरेटिव एआई प्रॉम्प्ट बनाने और मैनेज करने की प्रोसेस को आसान बनाने के लिए डिज़ाइन किया गया है. Dotprompt का मुख्य मकसद, प्रॉम्प्ट को कोड के तौर पर इस्तेमाल करना है. इससे आपको अपने ऐप्लिकेशन कोड के साथ-साथ, प्रॉम्प्ट लिखने, उन्हें बनाए रखने, और उनके वर्शन को कंट्रोल करने की सुविधा मिलती है.
Dotprompt का इस्तेमाल करने के लिए, hello-world से शुरुआत करें:
- अपने कोड एडिटर में,
prompts/1-hello-world.prompt
फ़ाइल खोलें. - Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
prompts/1-hello-world
खोलें. - किसी भी ऐसी भाषा का नाम या कोड इस्तेमाल करें जिसके बारे में आपको पता हो या इसे खाली स्ट्रिंग के तौर पर छोड़ दें.
- Run पर क्लिक करें.
- कुछ अलग-अलग वैल्यू आज़माएं. लार्ज लैंग्वेज मॉडल, इस तरह की सामान्य क्वेरी में छोटे किए गए, गलत स्पेलिंग वाले या अधूरे प्रॉम्प्ट को आसानी से समझ लेते हैं.
स्ट्रक्चर्ड डेटा की मदद से अपने आउटपुट को बेहतर बनाना
Genkit, सिर्फ़ टेक्स्ट जनरेट करने के अलावा, आपको अपने आउटपुट को स्ट्रक्चर करने की सुविधा देता है. इससे आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) में बेहतर तरीके से प्रज़ेंटेशन और इंटिग्रेशन किया जा सकता है. स्कीमा तय करके, एलएलएम को स्ट्रक्चर्ड डेटा जनरेट करने के लिए कहा जा सकता है. यह डेटा, आपके चुने गए फ़ॉर्मैट के मुताबिक होगा.
आउटपुट स्कीमा एक्सप्लोर करना
एलएलएम कॉल के आउटपुट स्कीमा के बारे में भी बताया जा सकता है.
- अपने कोड एडिटर में, प्रॉम्प्ट फ़ाइल की जांच करें:
prompts/2-simple-itinerary.prompt
फ़ाइल खोलें.- तय किए गए इनपुट और आउटपुट स्कीमा की जांच करें.
- यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करें:
- Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
prompts/2-simple-itinerary
सेक्शन पर जाएं. place
औरinterests
फ़ील्ड में सैंपल डेटा डालकर इनपुट दें:{ "interests": [ "Museums" ], "place": "Paris" }
- Run पर क्लिक करें.
- Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
स्कीमा के हिसाब से जनरेट किए गए आउटपुट को समझना
ध्यान दें कि जनरेट किया गया आउटपुट, तय किए गए स्कीमा के मुताबिक है. आपने एलएलएम को मनचाहा स्ट्रक्चर तय करके, ऐसा डेटा जनरेट करने का निर्देश दिया है जिसे आसानी से पार्स किया जा सकता है और आपके ऐप्लिकेशन में इंटिग्रेट किया जा सकता है. Genkit, स्कीमा के हिसाब से आउटपुट की पुष्टि अपने-आप करता है. इससे डेटा की इंटिग्रिटी बनी रहती है.
इसके अलावा, Genkit को इस तरह से कॉन्फ़िगर किया जा सकता है कि अगर आउटपुट स्कीमा से मेल नहीं खाता है, तो वह आउटपुट को ठीक करने की कोशिश करे या फिर से कोशिश करे.
आउटपुट स्कीमा के मुख्य फ़ायदे
- आसानी से इंटिग्रेट करना: अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) एलिमेंट में स्ट्रक्चर्ड डेटा को आसानी से शामिल करें.
- डेटा की पुष्टि करना: जनरेट किए गए आउटपुट के सटीक और एक जैसा होने की पुष्टि करें.
- गड़बड़ी ठीक करना: स्कीमा के मेल न खाने की समस्या को ठीक करने के लिए, तरीके लागू करें.
आउटपुट स्कीमा का इस्तेमाल करने से, Genkit का इस्तेमाल करने का आपका अनुभव बेहतर होता है. इससे आपको उपयोगकर्ता की ज़रूरतों के हिसाब से, स्ट्रक्चर्ड डेटा बनाने में मदद मिलती है. इससे उपयोगकर्ताओं को बेहतर और ज़्यादा डाइनैमिक अनुभव मिलता है.
मल्टीमोडल इनपुट का इस्तेमाल करना
मान लें कि आपका ऐप्लिकेशन, लोगों को उनकी पसंद के हिसाब से छुट्टियों पर घूमने की जगहों के सुझाव देता है. ये सुझाव, उन इमेज के आधार पर दिए जाते हैं जो लोगों को पसंद आती हैं. Genkit और मल्टीमॉडल जनरेटिव मॉडल की मदद से, इस विज़न को हकीकत में बदला जा सकता है.
- अपने कोड एडिटर में, प्रॉम्प्ट फ़ाइल की जांच करें:
prompts/imgDescription.prompt
फ़ाइल खोलें.{{media url=this}}
को शामिल करने के बारे में ध्यान दें. यह Handlebars सिंटैक्स एलिमेंट है. इससे इमेज को अपने प्रॉम्प्ट में शामिल करना आसान हो जाता है.
- यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करें:
- Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
prompts/imgDescription
प्रॉम्प्ट खोलें. imageUrls
फ़ील्ड में, इमेज का यूआरएल चिपकाकर डालें. उदाहरण के लिए, Wikipedia से ली गई इस थंबनेल इमेज का इस्तेमाल किया जा सकता है, जिसमें आइफ़िल टावर दिखाया गया है:{ "imageUrls": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg/556px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg" ] }
- Run पर क्लिक करें.
- Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
7. वेक्टर सिमिलैरिटी सर्च की मदद से जानकारी पाने की सुविधा लागू करना
एआई मॉडल की मदद से क्रिएटिव कॉन्टेंट जनरेट करना एक बेहतरीन काम है. हालांकि, व्यावहारिक तौर पर इसका इस्तेमाल करने के लिए, अक्सर आउटपुट को किसी खास कॉन्टेक्स्ट में रखना ज़रूरी होता है.
इस कोडलैब में, आपके पास डेस्टिनेशन (जगहें और गतिविधियां) का डेटाबेस है. आपका मकसद यह पक्का करना है कि Gemini मॉडल से मिले सुझाव, सिर्फ़ इस डेटाबेस में मौजूद एंट्री से जुड़े हों.
स्ट्रक्चर नहीं की गई क्वेरी और काम के कॉन्टेंट के बीच के अंतर को कम करने के लिए, जनरेट किए गए एम्बेडिंग पर वेक्टर समानता खोज की सुविधा का इस्तेमाल किया जाएगा.
एंबेडिंग और वेक्टर समानता के बारे में जानकारी
- वेक्टर: वेक्टर, डेटा पॉइंट के संख्यात्मक रूप होते हैं. इनका इस्तेमाल अक्सर टेक्स्ट या इमेज जैसी जटिल जानकारी को मॉडल करने के लिए किया जाता है. वेक्टर में मौजूद हर डाइमेंशन, डेटा की किसी खास सुविधा से मेल खाता है.
- Embedding Models: ये खास एआई मॉडल, इनपुट डेटा को ज़्यादा डाइमेंशन वाले वेक्टर में बदलते हैं. जैसे, टेक्स्ट. दिलचस्प बात यह है कि मिलते-जुलते इनपुट को ऐसे वेक्टर पर मैप किया जाता है जो इस हाई-डाइमेंशनल स्पेस में एक-दूसरे के नज़दीक होते हैं.
- वेक्टर सिमिलैरिटी सर्च: इस तकनीक में, एंबेड किए जा रहे वेक्टर की समानता का इस्तेमाल करके, काम के डेटा पॉइंट की पहचान की जाती है. इनपुट क्वेरी के आधार पर, यह डेटाबेस में ऐसी एंट्री ढूंढता है जिनके एम्बेडिंग वेक्टर मिलते-जुलते हों. इससे यह पता चलता है कि क्वेरी और एंट्री के बीच सिमैंटिक समानता है.
डेटा वापस पाने की प्रोसेस के काम करने का तरीका समझना
- क्वेरी को एम्बेड करना: उपयोगकर्ता के इनपुट (उदाहरण के लिए, "पेरिस में रोमांटिक डिनर") को एम्बेडिंग मॉडल के ज़रिए पास किया जाता है. इससे क्वेरी वेक्टर जनरेट होता है.
- डेटाबेस एम्बेडिंग: सबसे सही तरीका यह है कि आपने डेस्टिनेशन के डेटाबेस को पहले से प्रोसेस किया हो. साथ ही, हर एंट्री के लिए एम्बेडिंग वेक्टर बनाए हों.
- समानता का हिसाब लगाना: क्वेरी वेक्टर की तुलना, डेटाबेस में मौजूद हर एम्बेडिंग वेक्टर से की जाती है. इसके लिए, समानता वाली मेट्रिक का इस्तेमाल किया जाता है. उदाहरण के लिए, कोसाइन समानता.
- डेटा वापस पाना: क्वेरी वेक्टर से मिलती-जुलती सबसे ज़्यादा एंट्री को डेटाबेस से वापस लाया जाता है. ऐसा इसलिए किया जाता है, ताकि उन्हें काम के सुझावों के तौर पर दिखाया जा सके.
इस जानकारी को वापस पाने के तरीके को अपने ऐप्लिकेशन में शामिल करके, Gemini मॉडल का फ़ायदा उठाया जा सकता है. इससे ऐसे सुझाव जनरेट किए जा सकते हैं जो न सिर्फ़ क्रिएटिव हों, बल्कि आपके खास डेटासेट पर भी आधारित हों. इस तरीके से, जनरेट किया गया आउटपुट, कॉन्टेक्स्ट के हिसाब से काम का होता है. साथ ही, यह आपके डेटाबेस में मौजूद जानकारी के मुताबिक होता है.
Firestore में वेक्टर सिमिलैरिटी सर्च की सुविधा चालू करना
इस कोडलैब के पिछले चरण में, आपने अपने Firestore डेटाबेस में जगहों और गतिविधियों के सैंपल जोड़े थे. जगह की हर एंट्री में, knownFor
टेक्स्ट फ़ील्ड शामिल होता है. इसमें जगह की खास विशेषताओं के बारे में बताया जाता है. साथ ही, इसमें embedding
फ़ील्ड भी शामिल होता है, जिसमें इस ब्यौरे का वेक्टर प्रज़ेंटेशन होता है.
इन एम्बेडिंग पर वेक्टर सिमिलैरिटी सर्च की सुविधा का इस्तेमाल करने के लिए, आपको Firestore इंडेक्स बनाना होगा. इस इंडेक्स की मदद से, किसी क्वेरी से मिलते-जुलते एम्बेडिंग वेक्टर के आधार पर जगहों को आसानी से खोजा जा सकता है.
- इंडेक्स बनाएं. साथ ही, यह पक्का करें कि आपने
YOUR_PROJECT_ID
की जगह अपने प्रोजेक्ट का आईडी डाला हो.gcloud firestore indexes composite create --project=YOUR_PROJECT_ID --collection-group=places --query-scope=COLLECTION --field-config field-path=embedding,vector-config='{"dimension":"768","flat": "{}"}'
- Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
retrievers/placesRetriever
खोलें. - Run पर क्लिक करें. प्लेसहोल्डर टेक्स्ट वाले स्कैफ़ोल्ड किए गए ऑब्जेक्ट को देखें. इससे पता चलेगा कि आपको रिट्रीवर लॉजिक कहां लागू करना है.
- अपने कोड एडिटर में,
src/lib/genkit/placesRetriever.ts
फ़ाइल खोलें. - नीचे तक स्क्रोल करें और प्लेसहोल्डर
placesRetriever
की जगह यह डालें:export const placesRetriever = defineFirestoreRetriever(ai, { name: 'placesRetriever', firestore, collection: 'places', contentField: 'knownFor', vectorField: 'embedding', embedder: vertexAI.embedder('text-embedding-005', {outputDimensionality: 768}), distanceMeasure: 'COSINE', });
डेटा वापस पाने की सुविधा की जांच करना
- Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
retrievers/placesRetriever
रिट्रीवर खोलें. - यह क्वेरी सबमिट करें:
{ "content": [ { "text": "UNESCO" } ] }
- आपके पास विकल्प देने का भी विकल्प है. उदाहरण के लिए, यहां बताया गया है कि रिट्रीवर को कितने दस्तावेज़ वापस भेजने चाहिए:
{ "limit": 4 }
- Run पर क्लिक करें.
विकल्प में where
क्लॉज़ जोड़कर, समानता के अलावा डेटा को फ़िल्टर किया जा सकता है.
8. Genkit के साथ, जानकारी खोजने और जवाब जनरेट करने की सुविधा (आरएजी)
पिछले सेक्शन में, आपने ऐसे अलग-अलग प्रॉम्प्ट बनाए हैं जो टेक्स्ट, JSON, और इमेज को हैंडल कर सकते हैं. साथ ही, ये प्रॉम्प्ट आपके उपयोगकर्ताओं के लिए, छुट्टियों की जगहों और अन्य दिलचस्प कॉन्टेंट को जनरेट कर सकते हैं. आपने एक ऐसा प्रॉम्प्ट भी लागू किया है जो आपके Firestore डेटाबेस से काम के डेस्टिनेशन की जानकारी वापस पाता है. अब इन कॉम्पोनेंट को एक साथ जोड़कर, रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) फ़्लो में व्यवस्थित करने का समय है.
इस सेक्शन में, Genkit के एक अहम कॉन्सेप्ट के बारे में बताया गया है. इसे फ़्लो कहा जाता है. फ़्लो, टाइप किए गए ऐसे फ़ंक्शन होते हैं जिन्हें स्ट्रीम किया जा सकता है. इन्हें स्थानीय और दूरस्थ, दोनों तरह से शुरू किया जा सकता है. साथ ही, इनकी पूरी जानकारी देखी जा सकती है. Genkit के सीएलआई और Genkit Developer UI, दोनों से फ़्लो मैनेज किए जा सकते हैं और उन्हें शुरू किया जा सकता है.
- अपने कोड एडिटर में, यात्रा की योजना बनाने के लिए दिए गए प्रॉम्प्ट की जांच करें:
prompts/itineraryGen.prompt
फ़ाइल खोलें.- ध्यान दें कि प्रॉम्प्ट को कैसे बड़ा किया गया है, ताकि वह अतिरिक्त इनपुट स्वीकार कर सके. खास तौर पर, रिट्रीवर से सोर्स किए गए गतिविधियों का डेटा.
- Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) में,
src/lib/genkit/itineraryFlow.ts
फ़ाइल में Genkit फ़्लो देखें.
अहम जानकारी: डीबग करने की प्रोसेस को आसान बनाने के लिए, लंबे फ़्लो को छोटे-छोटे चरणों में बांटें. - "इमेज के बारे में जानकारी" वाला चरण जोड़कर, फ़्लो को बेहतर बनाएं:
TODO: 2
टिप्पणी (लाइन 81 के आस-पास) ढूंढें. इससे उस जगह का पता चलता है जहां आपको अपने फ़्लो को बेहतर बनाना है.- खाली
imgDescription
प्लेसहोल्डर को,imgDescription
प्रॉम्प्ट कॉल से जनरेट किए गए आउटपुट से बदलें.
- फ़्लो की जांच करें:
flows/itineraryFlow
पर जाएं.itineraryFlow
को नए जोड़े गए चरण के साथ सही तरीके से लागू किया गया है या नहीं, यह जांचने के लिए यहां दिया गया इनपुट इस्तेमाल करें:{ "request": "Sightseeing in Paris", "imageUrls": [ "https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg/556px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg" ] }
- Run पर क्लिक करें.
- जनरेट किए गए आउटपुट को देखें. इसमें इमेज के ब्यौरे को यात्रा के सुझाव में शामिल किया जाना चाहिए.
- अगर आपको कोई गड़बड़ी दिखती है या कोई समस्या आती है, तो ज़्यादा जानकारी के लिए जांच करें टैब देखें. इस टैब का इस्तेमाल करके, ट्रेस स्टोर से किए गए एग्ज़िक्यूशन का इतिहास भी देखा जा सकता है.
अपने वेब ऐप्लिकेशन के लिए RAG
- अपने ब्राउज़र में http://localhost:3000/ पर जाकर, पक्का करें कि वेब ऐप्लिकेशन अब भी चल रहा हो.
- अगर वेब ऐप्लिकेशन अब नहीं चल रहा है, तो अपने टर्मिनल में ये कमांड चलाएँ:
npm install npm run dev
- Dream Your Vacation वेब ऐप्लिकेशन पेज (http://localhost:3000/gemini) पर जाएं.
- Next.js इंटिग्रेशन के उदाहरण के लिए, इसका सोर्स कोड (
src/app/gemini/page.tsx
) देखें.
9. Firebase App Hosting का इस्तेमाल करके अपना ऐप्लिकेशन डिप्लॉय करना
इस प्रोसेस का आखिरी चरण, वेब ऐप्लिकेशन को डिप्लॉय करना है. इसके लिए, आपको Firebase ऐप्लिकेशन होस्टिंग का इस्तेमाल करना होगा. यह फ़्रेमवर्क के हिसाब से काम करने वाला होस्टिंग समाधान है. इसे Next.js और Angular ऐप्लिकेशन को बिना सर्वर वाले बैकएंड पर डिप्लॉय करने की प्रोसेस को आसान बनाने के लिए डिज़ाइन किया गया है.
- अपनी लोकल गिट रिपॉज़िटरी में बदलावों को कमिट करें. इसके बाद, उन्हें GitHub पर पुश करें.
- Firebase कंसोल में, अपने Firebase प्रोजेक्ट में App Hosting पर जाएं.
- शुरू करें > GitHub से कनेक्ट करें पर क्लिक करें.
- अपना GitHub खाता और रिपॉज़िटरी चुनें. आगे बढ़ें पर क्लिक करें.
- डिप्लॉयमेंट सेटिंग > रूट डायरेक्ट्री में, डिफ़ॉल्ट वैल्यू को बनाए रखें.
- लाइव ब्रांच के लिए, अपनी GitHub repo की main ब्रांच चुनें. आगे बढ़ें पर क्लिक करें.
- अपने बैकएंड के लिए कोई आईडी डालें. उदाहरण के लिए,
compass
. - जब आपसे पूछा जाए कि Firebase वेब ऐप्लिकेशन बनाना है या उसे जोड़ना है, तो कोई मौजूदा Firebase वेब ऐप्लिकेशन चुनें को चुनें. इसके बाद, वह ऐप्लिकेशन चुनें जिसे आपने इस कोडलैब के पिछले चरण में बनाया था.
- पूरा करें और लागू करें पर क्लिक करें.
मॉनिटरिंग की सुविधा डिप्लॉय करने की स्थिति
डप्लॉयमेंट की प्रोसेस में कुछ मिनट लगेंगे. Firebase कंसोल के ऐप्लिकेशन होस्टिंग सेक्शन में जाकर, प्रोग्रेस को ट्रैक किया जा सकता है.
अपने सेवा खाते को अनुमतियां देना
Node.js बैकएंड को Vertex AI संसाधनों को ऐक्सेस करने की अनुमति देने के लिए, आपको अपने ऐप्लिकेशन के सेवा खाते को aiplatform.user
भूमिका असाइन करनी होगी:
gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
--member "serviceAccount:firebase-app-hosting-compute@YOUR_PROJECT_ID.iam.gserviceaccount.com" \
--role "roles/aiplatform.user"
यह प्रोसेस पूरी होने के बाद, उपयोगकर्ता आपके वेब ऐप्लिकेशन को ऐक्सेस कर पाएंगे.
अपने-आप फिर से डिप्लॉय होने की सुविधा
Firebase App Hosting की मदद से, आने वाले समय में अपडेट आसानी से किए जा सकते हैं. जब भी GitHub रिपॉज़िटरी की मुख्य ब्रांच में बदलाव किए जाते हैं, तो Firebase App Hosting आपके ऐप्लिकेशन को अपने-आप फिर से बनाता है और फिर से डिप्लॉय करता है. इससे यह पक्का होता है कि आपके उपयोगकर्ताओं को हमेशा नया वर्शन मिले.
10. नतीजा
इस कोडलैब को पूरा करने के लिए बधाई!
आपने Genkit, Firestore, और Vertex AI की मदद से, एक बेहतर "फ़्लो" बनाया है. यह फ़्लो, उपयोगकर्ता की प्राथमिकताओं और प्रेरणा के आधार पर, छुट्टियों के लिए उनके हिसाब से सुझाव जनरेट करता है. साथ ही, यह आपके ऐप्लिकेशन के डेटा के आधार पर सुझाव देता है.
इस पूरे कोर्स में, आपको सॉफ़्टवेयर इंजीनियरिंग के ज़रूरी पैटर्न के बारे में प्रैक्टिकल अनुभव मिला है. ये पैटर्न, जनरेटिव एआई ऐप्लिकेशन बनाने के लिए बहुत ज़रूरी हैं. इन पैटर्न में ये शामिल हैं:
- प्रॉम्प्ट मैनेजमेंट: बेहतर तरीके से साथ मिलकर काम करने और वर्शन कंट्रोल के लिए, प्रॉम्प्ट को कोड के तौर पर व्यवस्थित करना और बनाए रखना.
- टेक्स्ट, इमेज, और वीडियो वगैरह का इस्तेमाल करके तैयार किया गया कॉन्टेंट: एआई के साथ इंटरैक्शन को बेहतर बनाने के लिए, अलग-अलग तरह के डेटा टाइप को इंटिग्रेट करना. जैसे, इमेज और टेक्स्ट.
- इनपुट/आउटपुट स्कीमा: अपने ऐप्लिकेशन में आसानी से इंटिग्रेट और पुष्टि करने के लिए डेटा को स्ट्रक्चर करना.
- वेक्टर स्टोर: मिलती-जुलती जानकारी को खोजने और काम की जानकारी को वापस पाने के लिए, वेक्टर एम्बेडिंग का इस्तेमाल करना.
- डेटा वापस पाना: डेटाबेस से डेटा पाने और उसे एआई से जनरेट किए गए कॉन्टेंट में शामिल करने के लिए, तरीकों को लागू करना.
- रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी): इसमें, जनरेटिव एआई के साथ जानकारी पाने की तकनीकों का इस्तेमाल किया जाता है, ताकि कॉन्टेक्स्ट के हिसाब से सही और सटीक जवाब मिल सकें.
- फ़्लो इंस्ट्रूमेंटेशन: एआई के मुश्किल वर्कफ़्लो को आसानी से बनाने और व्यवस्थित करने के लिए, ताकि उन्हें आसानी से लागू किया जा सके.
इन कॉन्सेप्ट को समझकर और Firebase के नेटवर्क में इन्हें लागू करके, जनरेटिव एआई से जुड़े अपने सफ़र की शुरुआत की जा सकती है. जनरेटिव एआई की मदद से, कई तरह के काम किए जा सकते हैं. साथ ही, इससे नए-नए ऐप्लिकेशन बनाए जा सकते हैं. इसलिए, जनरेटिव एआई की मदद से, अपनी क्षमताओं को निखारते रहें.
डिप्लॉयमेंट के अन्य विकल्पों के बारे में जानना
Genkit में, आपकी ज़रूरतों के हिसाब से डिप्लॉयमेंट के कई विकल्प उपलब्ध हैं. जैसे:
- Firebase के लिए Cloud Functions
- Cloud Run
- Next.js
- कोई भी Node.js एनवायरमेंट
- Genkit, Go के साथ भी काम करता है
अपने (package.json
) नोड फ़ोल्डर में यह कमांड चलाकर, अपनी ज़रूरत के हिसाब से सबसे सही विकल्प चुनें:
npx genkit init
अगले चरण
- Google AI Studio या Vertex AI Studio में, प्रॉम्प्ट के साथ एक्सपेरिमेंट करें और बड़ी कॉन्टेक्स्ट विंडो का फ़ायदा पाएं.
- एआई की मदद से, खोज के नतीजों को बेहतर बनाने वाली जनरेशन (आरएजी) सर्च के बारे में ज़्यादा जानें.
- Genkit के आधिकारिक दस्तावेज़ देखें.
- Firestore में मिलती-जुलती खोज की सुविधाओं और PostgreSQL के लिए Cloud SQL के बारे में ज़्यादा जानें.
- फ़ंक्शन कॉलिंग की मदद से, जनरेटिव एआई के फ़्लो के बारे में ज़्यादा जानें.