Genkit का इस्तेमाल करके, अपने डेटा से जनरेटिव एआई की सुविधाएं तैयार करना

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

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

Genkit को ऐप्लिकेशन डेवलपर के लिए डिज़ाइन किया गया है. इससे, एआई की बेहतर सुविधाओं को अपने ऐप्लिकेशन में आसानी से इंटिग्रेट किया जा सकता है. इसके लिए, जाने-पहचाने पैटर्न और पैराडाइम का इस्तेमाल किया जाता है. इसे Firebase टीम ने बनाया है. इसमें, दुनिया भर के लाखों डेवलपर के लिए टूल बनाने का हमारा अनुभव शामिल है.

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

  • Firestore, Node.js, और TypeScript के बारे में जानकारी.

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

  • Firestore की ऐडवांस वेक्टर सिमिलैरिटी सर्च की सुविधाओं का इस्तेमाल करके, बेहतर ऐप्लिकेशन कैसे बनाए जा सकते हैं.
  • Genkit का इस्तेमाल करके, अपने ऐप्लिकेशन में जनरेटिव एआई को लागू करने का तरीका.
  • अपने समाधान को डिप्लॉयमेंट और इंटिग्रेशन के लिए तैयार करें.

आपको इनकी ज़रूरत होगी

  • अपनी पसंद का कोई ब्राउज़र, जैसे कि Google Chrome
  • कोड एडिटर और टर्मिनल वाला डेवलपमेंट एनवायरमेंट
  • Firebase प्रोजेक्ट बनाने और उसे मैनेज करने के लिए Google खाता

2. इस्तेमाल किए गए वेब ऐप्लिकेशन और क्लाउड सेवाओं की समीक्षा करें

इस सेक्शन में, आपको उस वेब ऐप्लिकेशन की समीक्षा करने का मौका मिलेगा जिसे इस कोडलैब की मदद से बनाया जाएगा. साथ ही, आपको उन क्लाउड सेवाओं के बारे में भी जानकारी मिलेगी जिनका इस्तेमाल किया जाएगा.

वेब ऐप्लिकेशन

इस कोडलैब में, आपको Compass नाम के ऐप्लिकेशन के कोडबेस पर काम करना होगा. यह ऐप्लिकेशन, छुट्टियों की योजना बनाने में मदद करता है. लोग अपनी पसंद की जगह चुन सकते हैं, वहां की गतिविधियों के बारे में जान सकते हैं, और अपनी यात्रा के लिए यात्रा कार्यक्रम बना सकते हैं.

इस कोडलैब में, आपको दो नई सुविधाएं लागू करनी होंगी. इनका मकसद, ऐप्लिकेशन के होम पेज पर उपयोगकर्ता की दिलचस्पी बढ़ाना है. ये दोनों सुविधाएं, जनरेटिव एआई की मदद से काम करती हैं:

  • फ़िलहाल, ऐप्लिकेशन में डेस्टिनेशन की स्टैटिक सूची दिखती है. आपको इसे डाइनैमिक सूची में बदलना है!
  • आपको अपने-आप भरने वाली यात्रा की योजना लागू करनी होगी, ताकि उपयोगकर्ताओं की दिलचस्पी बढ़ाई जा सके.

d54f2043af908fb.png

इस्तेमाल की गई सेवाएं

इस कोडलैब में, आपको Firebase और Cloud की कई सेवाओं और सुविधाओं का इस्तेमाल करना होगा. साथ ही, इनके लिए ज़्यादातर स्टार्टर कोड आपको दिया गया है. इस टेबल में, इस्तेमाल की जाने वाली सेवाओं और उन्हें इस्तेमाल करने की वजहों के बारे में बताया गया है.

सेवा

इस्तेमाल करने की वजह

Genkit

Genkit का इस्तेमाल, Node.js / Next.js ऐप्लिकेशन में जनरेटिव एआई को शामिल करने के लिए किया जाता है.

Cloud Firestore

डेटा को Cloud Firestore में सेव किया जाता है. इसके बाद, इसका इस्तेमाल वेक्टर सिमिलैरिटी सर्च के लिए किया जाता है.

Google Cloud का Vertex AI

आपने एआई की सुविधाओं को बेहतर बनाने के लिए, Vertex AI के फ़ाउंडेशनल मॉडल (जैसे, Gemini) का इस्तेमाल किया हो.

Firebase App Hosting

आपके पास, डाइनैमिक Next.js वेब ऐप्लिकेशन (GitHub repo से कनेक्ट किया गया) को दिखाने के लिए, Firebase App Hosting के नए वर्शन का इस्तेमाल करने का विकल्प होता है.

3. डेवलपमेंट एनवायरमेंट सेट अप करना

अपने Node.js वर्शन की पुष्टि करना

  1. अपने टर्मिनल में, पुष्टि करें कि आपने Node.js का 20.0.0 या उसके बाद का वर्शन इंस्टॉल किया है:
    node -v
    
  2. अगर आपके पास Node.js का 20.0.0 या इसके बाद का वर्शन नहीं है, तो एलटीएस का नया वर्शन डाउनलोड करें और उसे इंस्टॉल करें.

कोडलैब के लिए सोर्स कोड पाना

अगर आपके पास GitHub खाता है, तो:

  1. github.com/FirebaseExtended/codelab-ai-genkit-rag से हमारे टेंप्लेट का इस्तेमाल करके नई रिपॉज़िटरी बनाएं65ef006167d600ab.png
  2. आपने अभी-अभी जो कोडलैब की GitHub रिपॉज़िटरी बनाई है उसका लोकल क्लोन बनाएं:
    git clone https://github.com/<your-github-handle>/codelab-ai-genkit-rag
    

अगर आपने git इंस्टॉल नहीं किया है या आपको नई repo नहीं बनानी है, तो:

GitHub रिपॉज़िटरी को zip फ़ाइल के तौर पर डाउनलोड करें.

फ़ोल्डर स्ट्रक्चर की समीक्षा करना

अपनी लोकल मशीन पर, क्लोन की गई रिपॉज़िटरी ढूंढें और फ़ोल्डर स्ट्रक्चर देखें:

फ़ोल्डर

ब्यौरा

load-firestore-data

Firestore कलेक्शन में डेटा को पहले से भरने के लिए, हेल्पर कमांड लाइन टूल

*अन्य सभी

Next.js वेब ऐप्लिकेशन का कोड

रूट फ़ोल्डर में एक README.md फ़ाइल शामिल होती है. इसमें वेब ऐप्लिकेशन को चलाने के लिए, आसान निर्देशों के साथ तुरंत शुरुआत करने की सुविधा मिलती है. हालांकि, अगर आप पहली बार सीख रहे हैं, तो आपको इस कोडलैब को पूरा करना चाहिए. कोडलैब में निर्देशों का सबसे ज़्यादा सेट होता है.

अगर आपको यह पक्का नहीं है कि आपने इस कोडलैब में दिए गए निर्देशों के मुताबिक कोड को सही तरीके से लागू किया है, तो आपको end git branch में समाधान कोड मिल सकता है.

Firebase CLI इंस्टॉल करना

  1. पुष्टि करें कि आपने Firebase CLI इंस्टॉल किया हो और उसका वर्शन 13.6 या इसके बाद का हो:
    firebase --version
    
  2. अगर आपने Firebase CLI इंस्टॉल किया है, लेकिन यह 13.6 या इसके बाद का वर्शन नहीं है, तो इसे अपडेट करें:
    npm update -g firebase-tools
    
  3. अगर आपने Firebase CLI इंस्टॉल नहीं किया है, तो इसे इंस्टॉल करें:
    npm install -g firebase-tools
    

अगर अनुमति से जुड़ी गड़बड़ियों की वजह से, Firebase CLI को अपडेट या इंस्टॉल नहीं किया जा सकता, तो npm का दस्तावेज़ देखें या इंस्टॉल करने का कोई दूसरा विकल्प इस्तेमाल करें.

Firebase में लॉग इन करना

  1. अपने टर्मिनल में, Firebase में लॉग इन करें:
    firebase login
    
    अगर आपके टर्मिनल पर यह मैसेज दिखता है कि आपने Firebase में पहले से ही लॉग इन किया हुआ है, तो इस कोडलैब के अपना Firebase प्रोजेक्ट सेट अप करें सेक्शन पर जाएं.
  2. अपने टर्मिनल में, यह तय करें कि आपको Firebase से डेटा इकट्ठा करना है या नहीं. इसके हिसाब से, Y या N डालें. (इनमें से कोई भी विकल्प इस कोडलैब के लिए काम करता है)
  3. अपने ब्राउज़र में, अपना Google खाता चुनें और अनुमति दें पर क्लिक करें.

Google Cloud का gcloud सीएलआई इंस्टॉल करना

  1. gcloud सीएलआई इंस्टॉल करें.
  2. अपने टर्मिनल में, Google Cloud में लॉग इन करें:
    gcloud auth login
    

4. अपना Firebase प्रोजेक्ट सेट अप करना

इस सेक्शन में, आपको Firebase प्रोजेक्ट सेट अप करना होगा. साथ ही, उसमें Firebase वेब ऐप्लिकेशन रजिस्टर करना होगा. आपको कुछ ऐसी सेवाएं भी चालू करनी होंगी जिनका इस्तेमाल इस कोडलैब में बाद में सैंपल वेब ऐप्लिकेशन करेगा.

इस सेक्शन में दिए गए सभी चरण, Firebase कंसोल में पूरे किए जाते हैं.

Firebase प्रोजेक्ट बनाना

  1. Firebase कंसोल में उसी Google खाते से साइन इन करें जिसका इस्तेमाल आपने पिछले चरण में किया था.
  2. नया प्रोजेक्ट बनाने के लिए बटन पर क्लिक करें. इसके बाद, प्रोजेक्ट का नाम डालें. उदाहरण के लिए, Compass Codelab.
  3. जारी रखें पर क्लिक करें.
  4. अगर आपसे कहा जाए, तो Firebase की शर्तें पढ़ें और स्वीकार करें. इसके बाद, जारी रखें पर क्लिक करें.
  5. (ज़रूरी नहीं) Firebase कंसोल में एआई की मदद पाने की सुविधा चालू करें. इसे "Firebase में Gemini" कहा जाता है.
  6. इस कोडलैब के लिए, आपको Google Analytics की ज़रूरत नहीं है. इसलिए, Google Analytics के विकल्प को टॉगल करके बंद करें.
  7. प्रोजेक्ट बनाएं पर क्लिक करें. इसके बाद, प्रोजेक्ट के प्रोविज़न होने का इंतज़ार करें. इसके बाद, जारी रखें पर क्लिक करें.

अपने Firebase प्रोजेक्ट में कोई वेब ऐप्लिकेशन जोड़ना

  1. अपने Firebase प्रोजेक्ट में, प्रोजेक्ट की खास जानकारी स्क्रीन पर जाएं. इसके बाद, ओपनिंग ऐंगल ब्रैकेट, स्लैश, और क्लोज़िंग ऐंगल ब्रैकेट वाला आइकॉन. यह वेब ऐप्लिकेशन को दिखाता है वेब पर क्लिक करें.Firebase कंसोल में प्रोजेक्ट की खास जानकारी वाले पेज पर सबसे ऊपर मौजूद वेब बटन
  2. ऐप्लिकेशन का प्रचलित नाम टेक्स्ट बॉक्स में, ऐप्लिकेशन का कोई ऐसा प्रचलित नाम डालें जिसे याद रखना आसान हो. जैसे, My Compass Codelab App. Firebase Hosting सेट अप करने के लिए, चेक बॉक्स से सही का निशान हटाया जा सकता है. ऐसा इसलिए, क्योंकि इस कोडलैब के आखिरी चरण में, आपको होस्टिंग सेवा सेट अप करने का विकल्प मिलेगा.
    वेब ऐप्लिकेशन को रजिस्टर करना
  3. ऐप्लिकेशन रजिस्टर करें > Console पर जाएं पर क्लिक करें.

बढ़िया! आपने अब अपने नए Firebase प्रोजेक्ट में एक वेब ऐप्लिकेशन रजिस्टर कर लिया है.

Firebase का प्राइसिंग प्लान अपग्रेड करना

Genkit और Vertex AI (और उनकी क्लाउड सेवाओं) का इस्तेमाल करने के लिए, आपके Firebase प्रोजेक्ट का इस्तेमाल के हिसाब से शुल्क चुकाने वाला (Blaze) प्लान होना चाहिए. इसका मतलब है कि यह Cloud Billing खाते से लिंक होना चाहिए.

  • Cloud Billing खाते के लिए, पेमेंट का कोई तरीका जोड़ना ज़रूरी है. जैसे, क्रेडिट कार्ड.
  • अगर आपने हाल ही में Firebase और Google Cloud का इस्तेमाल शुरू किया है, तो देखें कि आपको 300 डॉलर का क्रेडिट और मुफ़्त में आज़माने के लिए Cloud Billing खाता मिल सकता है या नहीं.
  • अगर आपको यह कोडलैब किसी इवेंट के हिस्से के तौर पर करना है, तो इवेंट के आयोजक से पूछें कि क्या Cloud क्रेडिट उपलब्ध हैं.

Vertex AI की कीमत के बारे में ज़्यादा जानें.

अपने प्रोजेक्ट को Blaze प्लान पर अपग्रेड करने के लिए, यह तरीका अपनाएं:

  1. Firebase कंसोल में जाकर, अपने प्लान को अपग्रेड करें को चुनें.
  2. Blaze प्लान चुनें. किसी क्लाउड बिलिंग खाते को अपने प्रोजेक्ट से लिंक करने के लिए, स्क्रीन पर दिए गए निर्देशों का पालन करें.
    अगर आपको इस अपग्रेड के हिस्से के तौर पर Cloud Billing खाता बनाना था, तो अपग्रेड पूरा करने के लिए, आपको Firebase कंसोल में अपग्रेड करने की प्रोसेस पर वापस जाना पड़ सकता है.

Cloud Firestore सेट अप करना

  1. Firebase कंसोल के बाईं ओर मौजूद पैनल में, Build को बड़ा करें. इसके बाद, Firestore database को चुनें.
  2. डेटाबेस बनाएं पर क्लिक करें.
  3. Standard edition चुनें और आगे बढ़ें पर क्लिक करें.
  4. डेटाबेस आईडी को (default) पर सेट रहने दें.
  5. अपने डेटाबेस के लिए कोई जगह चुनें. इसके बाद, आगे बढ़ें पर क्लिक करें.
    किसी असली ऐप्लिकेशन के लिए, आपको ऐसी जगह चुननी चाहिए जो आपके उपयोगकर्ताओं के आस-पास हो.
  6. टेस्ट मोड में शुरू करें पर क्लिक करें. सुरक्षा के नियमों के बारे में डिसक्लेमर पढ़ें.
    अपने डेटाबेस के लिए सुरक्षा के नियम जोड़े बिना, किसी ऐप्लिकेशन को सार्वजनिक तौर पर डिस्ट्रिब्यूट या उपलब्ध करें.
  7. बनाएं पर क्लिक करें.

Vertex AI चालू करना

Vertex AI सेट अप करने के लिए, gcloud CLI का इस्तेमाल करें. इस पेज पर मौजूद सभी कमांड के लिए, पक्का करें कि आपने YOUR_PROJECT_ID को अपने Firebase प्रोजेक्ट के आईडी से बदल दिया हो.

  1. अपने टर्मिनल में, Google Cloud SDK टूल के लिए डिफ़ॉल्ट प्रोजेक्ट सेट करें:
    gcloud config set project YOUR_PROJECT_ID
    
  2. अगर आपको यह चेतावनी वाला मैसेज दिखता है, "चेतावनी: आपका चालू प्रोजेक्ट, स्थानीय ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल फ़ाइल में मौजूद कोटा प्रोजेक्ट से मेल नहीं खाता. इससे कोटा से जुड़ी समस्याएं आ सकती हैं." इसके बाद, कोटा प्रोजेक्ट सेट करने के लिए यह कमांड चलाएं:
    gcloud auth application-default set-quota-project YOUR_PROJECT_ID
    
  3. अपने प्रोजेक्ट में Vertex AI सेवा चालू करें:
    gcloud services enable aiplatform.googleapis.com
    

5. वेब ऐप्लिकेशन सेट अप करना

वेब ऐप्लिकेशन चलाने के लिए, आपको अपने टर्मिनल में कमांड चलाने होंगी. साथ ही, कोड एडिटर में कोड जोड़ना होगा. इस पेज पर मौजूद सभी कमांड के लिए, पक्का करें कि आपने YOUR_PROJECT_ID की जगह अपने Firebase प्रोजेक्ट का आईडी डाला हो.

अपने प्रोजेक्ट को टारगेट करने के लिए, Firebase CLI को कॉन्फ़िगर करना

  1. अपने टर्मिनल में, कोडलैब प्रोजेक्ट की रूट डायरेक्ट्री पर जाएं.
  2. Firebase CLI को अपने Firebase प्रोजेक्ट के लिए सभी कमांड चलाने की अनुमति देने के लिए, यह कमांड चलाएं:
    firebase use YOUR_PROJECT_ID
    

Firestore में सैंपल डेटा इंपोर्ट करना

इसलिए, इस कोडलैब में आपको Firestore के लिए पहले से जनरेट किया गया सैंपल डेटा मिलता है, ताकि आप तुरंत शुरू कर सकें.

  1. लोकल कोड बेस को ऐसा कोड चलाने की अनुमति देने के लिए जो आम तौर पर सेवा खाते का इस्तेमाल करता है, अपने टर्मिनल में यह निर्देश चलाएं:
    gcloud auth application-default login
    
    इससे आपके ब्राउज़र में एक नया टैब खुलेगा. उसी Google खाते से लॉग इन करें जिसका इस्तेमाल आपने पिछले चरणों में किया था.
  2. Firestore के सैंपल डेटा को इंपोर्ट करने के लिए, ये कमांड चलाएं:
    cd load-firestore-data
    npm ci
    node index.js YOUR_PROJECT_ID
    cd ..
    
  3. पुष्टि करें कि डेटा आपके डेटाबेस में जोड़ दिया गया है. इसके लिए, Firebase कंसोल में अपने Firebase प्रोजेक्ट के Firestore सेक्शन पर जाएं. आपको इंपोर्ट किया गया डेटा स्कीमा और उसका कॉन्टेंट दिखेगा.Firebase कंसोल में Compass का सैंपल डेटा

अपने वेब ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट करना

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

  1. अपने ऐप्लिकेशन का Firebase कॉन्फ़िगरेशन पाएं:
    1. Firebase कंसोल में, अपने Firebase प्रोजेक्ट पर जाएं.
    2. बाईं ओर मौजूद पैनल में, प्रोजेक्ट की खास जानकारी के बगल में मौजूद गियर आइकॉन पर क्लिक करें. इसके बाद, प्रोजेक्ट की सेटिंग चुनें.
    3. "आपके ऐप्लिकेशन" कार्ड में जाकर, अपना वेब ऐप्लिकेशन चुनें.
    4. "एसडीके सेटअप और कॉन्फ़िगरेशन" सेक्शन में जाकर, कॉन्फ़िगरेशन विकल्प चुनें.
    5. स्निपेट कॉपी करें. यह const firebaseConfig ... से शुरू होता है.
  2. अपने वेब ऐप्लिकेशन के कोडबेस में Firebase कॉन्फ़िगरेशन जोड़ें:
    1. अपने कोड एडिटर में, src/lib/genkit/genkit.config.ts फ़ाइल खोलें.
    2. उस सेक्शन को कॉपी किए गए कोड से बदलें.
    3. फ़ाइल सेव करें.

अपने ब्राउज़र में वेब ऐप्लिकेशन की झलक देखना

  1. अपने टर्मिनल में, डिपेंडेंसी इंस्टॉल करें. इसके बाद, वेब ऐप्लिकेशन चलाएं:
    npm install
    npm run dev:next
    
  2. वेब ऐप्लिकेशन देखने के लिए, अपने ब्राउज़र में जाकर, स्थानीय तौर पर होस्ट किए गए होस्टिंग यूआरएल पर जाएं. उदाहरण के लिए, ज़्यादातर मामलों में यूआरएल http://localhost:3000/ या इससे मिलता-जुलता होता है.

कंपास ऐप्लिकेशन की होम स्क्रीन

Compass, React Server Components का इस्तेमाल करने वाला Next.js ऐप्लिकेशन है. यह उसका होम पेज है.

मेरी पसंदीदा यात्रा ढूंढें पर क्लिक करें. इसमें कुछ तय की गई जगहों के लिए, हार्ड-कोड किया गया डेटा दिखाया जा रहा है:

मेरी मनपसंद यात्रा की स्क्रीन ढूँढो

बेझिझक एक्सप्लोर करें. जब आप आगे बढ़ने के लिए तैयार हों, तो सबसे ऊपर दाएं कोने में मौजूद होम होम बटन पर क्लिक करें.

6. Genkit की मदद से जनरेटिव एआई के बारे में ज़्यादा जानें

अब आपके पास अपने ऐप्लिकेशन में जनरेटिव एआई की सुविधाओं का इस्तेमाल करने का विकल्प है! कोडलैब के इस सेक्शन में, आपको ऐसी सुविधा लागू करने के बारे में बताया जाएगा जो उपयोगकर्ता की ओर से दी गई जानकारी के आधार पर, यात्रा के लिए जगहों के सुझाव देती है. जनरेटिव मॉडल के लिए, Genkit और Google Cloud के Vertex AI का इस्तेमाल किया जाएगा. इसमें Gemini का इस्तेमाल किया जाएगा.

Genkit, ट्रेस और फ़्लो की स्थिति को सेव कर सकता है. इससे, Genkit फ़्लो को लागू करने के नतीजे की जांच की जा सकती है. इस कोडलैब में, इन ट्रेस को सेव करने के लिए Firestore का इस्तेमाल किया जाएगा.

इस कोडलैब के आखिरी चरण में, आपको अपने Genkit ऐप्लिकेशन को Firebase App Hosting पर डिप्लॉय करना होगा.

अपने Genkit ऐप्लिकेशन को Firebase प्रोजेक्ट से कनेक्ट करना

हमने पिछले चरण में src/lib/genkit/genkit.config.ts में बदलाव करके, Genkit को आपके प्रोजेक्ट से पहले ही कनेक्ट कर दिया है.

Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) लॉन्च करना

Genkit में वेब पर आधारित यूज़र इंटरफ़ेस (यूआई) होता है. इसकी मदद से, एलएलएम, Genkit फ़्लो, रिट्रीवर, और एआई के अन्य कॉम्पोनेंट के साथ इंटरैक्ट किया जा सकता है.

अपने टर्मिनल में, यह कमांड चलाएं:

npm run dev:genkit

अपने ब्राउज़र में, स्थानीय तौर पर होस्ट किए गए Genkit के यूआरएल पर जाएं. ज़्यादातर मामलों में, यह http://localhost:4000/ होता है.

Gemini के साथ इंटरैक्ट करना

अब Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करके, उन सभी मॉडल या एआई कॉम्पोनेंट से इंटरैक्ट किया जा सकता है जिनके साथ Genkit काम करता है. जैसे, प्रॉम्प्ट, रिट्रीवर, और Genkit फ़्लो.

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

Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में Gemini मॉडल के साथ इंटरैक्ट करना

प्रॉम्प्ट मैनेज करना

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

Dotprompt का इस्तेमाल करने के लिए, सबसे पहले hello-world से शुरुआत करें:

  1. अपने कोड एडिटर में, prompts/1-hello-world.prompt फ़ाइल खोलें.
  2. Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में, prompts/1-hello-world खोलें.
  3. अपनी पसंद की भाषा का नाम या कोड डालें या इसे खाली स्ट्रिंग के तौर पर छोड़ दें.
  4. Run पर क्लिक करें.स्वीडिश भाषा में बधाई देने के लिए, Dotprompt का इस्तेमाल करना
  5. कुछ अलग-अलग वैल्यू आज़माएं. बड़े लैंग्वेज मॉडल, इस तरह की सामान्य क्वेरी में छोटे किए गए, गलत स्पेलिंग वाले या अधूरे प्रॉम्प्ट को आसानी से समझ लेते हैं.

स्ट्रक्चर्ड डेटा की मदद से अपने आउटपुट को बेहतर बनाना

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

आउटपुट स्कीमा के बारे में जानकारी

एलएलएम कॉल के आउटपुट स्कीमा के बारे में भी बताया जा सकता है.

  1. अपने कोड एडिटर में, प्रॉम्प्ट फ़ाइल की जांच करें:
    1. prompts/2-simple-itinerary.prompt फ़ाइल खोलें.
    2. तय किए गए इनपुट और आउटपुट स्कीमा की जांच करें.
  2. यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करना:
    1. Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में, prompts/2-simple-itinerary सेक्शन पर जाएं.
    2. place और interests फ़ील्ड में सैंपल डेटा डालकर इनपुट दें:
      {
          "interests": [
              "Museums"
          ],
          "place": "Paris"
      }
      
    3. Run पर क्लिक करें.

आउटपुट स्कीमा तय करने के लिए Dotprompt का इस्तेमाल करना

स्कीमा के हिसाब से आउटपुट जनरेट करने की सुविधा के बारे में जानकारी

ध्यान दें कि जनरेट किया गया आउटपुट, तय किए गए स्कीमा के मुताबिक है. आपने एलएलएम को मनचाहा स्ट्रक्चर तय करके, ऐसा डेटा जनरेट करने का निर्देश दिया है जिसे आसानी से पार्स किया जा सकता है और आपके ऐप्लिकेशन में इंटिग्रेट किया जा सकता है. Genkit, स्कीमा के हिसाब से आउटपुट की पुष्टि अपने-आप करता है. इससे डेटा की इंटिग्रिटी बनी रहती है.

इसके अलावा, Genkit को इस तरह से कॉन्फ़िगर किया जा सकता है कि अगर आउटपुट स्कीमा से मेल नहीं खाता है, तो वह आउटपुट को ठीक करने की कोशिश करे या फिर से जनरेट करे.

आउटपुट स्कीमा के मुख्य फ़ायदे

  • आसान इंटिग्रेशन: अपने ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) एलिमेंट में स्ट्रक्चर्ड डेटा को आसानी से शामिल करें.
  • डेटा की पुष्टि करना: पक्का करें कि जनरेट किया गया आउटपुट सटीक और एक जैसा हो.
  • गड़बड़ी ठीक करना: स्कीमा के मेल न खाने की समस्या को ठीक करने के लिए, तरीके लागू करें.

आउटपुट स्कीमा का इस्तेमाल करने से, Genkit का इस्तेमाल करने का आपका अनुभव बेहतर होता है. इससे आपको उपयोगकर्ता के हिसाब से, स्ट्रक्चर्ड डेटा बनाने में मदद मिलती है. इससे उपयोगकर्ताओं को बेहतर और ज़्यादा डाइनैमिक अनुभव मिलता है.

मल्टीमोडल इनपुट का इस्तेमाल करना

मान लें कि आपका ऐप्लिकेशन, उपयोगकर्ताओं को उनकी पसंद के हिसाब से छुट्टियों पर घूमने की जगहों के सुझाव देता है. ये सुझाव, उन इमेज के आधार पर दिए जाते हैं जो उपयोगकर्ताओं को पसंद आती हैं. Genkit और मल्टीमॉडल जनरेटिव मॉडल की मदद से, इस विज़न को हकीकत में बदला जा सकता है.

  1. अपने कोड एडिटर में, प्रॉम्प्ट फ़ाइल की जांच करें:
    1. prompts/imgDescription.prompt फ़ाइल खोलें.
    2. ध्यान दें कि इसमें {{media url=this}} शामिल है. यह Handlebars सिंटैक्स एलिमेंट है. इससे, इमेज को अपने प्रॉम्प्ट में शामिल करना आसान हो जाता है.
  2. यूज़र इंटरफ़ेस (यूआई) के साथ इंटरैक्ट करना:
    1. Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में, prompts/imgDescription प्रॉम्प्ट खोलें.
    2. 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"
          ]
      }
      
    3. Run पर क्लिक करें.

7. वेक्टर सिमिलैरिटी सर्च की मदद से जानकारी पाने की सुविधा लागू करना

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

इस कोडलैब में, आपके पास डेस्टिनेशन (जगहें और गतिविधियाँ) का डेटाबेस है. आपका मकसद यह पक्का करना है कि Gemini मॉडल से मिले सुझाव, सिर्फ़ इस डेटाबेस में मौजूद एंट्री से लिए गए हों.

स्ट्रक्चर नहीं की गई क्वेरी और काम के कॉन्टेंट के बीच के अंतर को कम करने के लिए, जनरेट किए गए एम्बेडिंग पर वेक्टर समानता खोज की सुविधा का इस्तेमाल किया जाएगा.

एंबेडिंग और वेक्टर समानता के बारे में जानकारी

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

डेटा वापस पाने की प्रोसेस के काम करने का तरीका समझना

  1. क्वेरी को एम्बेड करना: उपयोगकर्ता के इनपुट (उदाहरण के लिए, "पेरिस में रोमांटिक डिनर") को एम्बेडिंग मॉडल के ज़रिए पास किया जाता है. इससे क्वेरी वेक्टर जनरेट होता है.
  2. डेटाबेस एम्बेडिंग: सबसे सही तरीका यह है कि आपने मंज़िलों के डेटाबेस को पहले से प्रोसेस किया हो. साथ ही, हर एंट्री के लिए एम्बेडिंग वेक्टर बनाए हों.
  3. समानता का हिसाब लगाना: समानता की मेट्रिक (उदाहरण के लिए, कोसाइन समानता) का इस्तेमाल करके, क्वेरी वेक्टर की तुलना डेटाबेस में मौजूद हर एम्बेडिंग वेक्टर से की जाती है.
  4. डेटा वापस पाना: क्वेरी वेक्टर से मिलती-जुलती एंट्री को डेटाबेस से वापस लाया जाता है, ताकि उन्हें काम के सुझावों के तौर पर दिखाया जा सके.

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

Firestore में वेक्टर सिमिलैरिटी सर्च की सुविधा चालू करना

इस कोडलैब के पिछले चरण में, आपने अपनी Firestore डेटाबेस में सैंपल के तौर पर जगहें और गतिविधियां जोड़ी थीं. हर जगह की एंट्री में, knownFor टेक्स्ट फ़ील्ड शामिल होता है. इसमें जगह की खास विशेषताओं के बारे में बताया जाता है. साथ ही, इसमें एक embedding फ़ील्ड भी होता है. इसमें इस ब्यौरे का वेक्टर प्रज़ेंटेशन होता है.

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

  1. इंडेक्स बनाएं. इसके लिए, YOUR_PROJECT_ID की जगह अपने प्रोजेक्ट का आईडी डालना न भूलें.
    • macOS / Linux के लिए
    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":"{}"}'
    
    • Windows (PowerShell) के लिए
    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':'{}'}"
    
  2. Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में, retrievers/placesRetriever खोलें.
  3. चलाएं पर क्लिक करें. प्लेसहोल्डर टेक्स्ट के साथ स्कैफ़ोल्ड किए गए ऑब्जेक्ट को देखें. इससे पता चलता है कि आपको रिट्रीवर लॉजिक कहां लागू करना है.
  4. अपने कोड एडिटर में, src/lib/genkit/placesRetriever.ts फ़ाइल खोलें.
  5. नीचे तक स्क्रोल करें और प्लेसहोल्डर 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',
    });
    

डेटा वापस पाने की सुविधा की जांच करना

  1. Genkit के डेवलपर यूज़र इंटरफ़ेस (यूआई) में, retrievers/placesRetriever रिट्रीवर खोलें.
  2. यह क्वेरी सबमिट करें:
    {
        "content": [
            {
                "text": "UNESCO"
            }
        ]
    }
    
  3. विकल्प भी दिए जा सकते हैं. उदाहरण के लिए, यहां बताया गया है कि रिट्रीवर को कितने दस्तावेज़ वापस भेजने चाहिए:
    {
        "limit": 4
    }
    
  4. Run पर क्लिक करें.

विकल्प में where क्लॉज़ जोड़कर, समानता के अलावा डेटा को फ़िल्टर किया जा सकता है.

8. Genkit के साथ रीट्रिवल ऑगमेंटेड जनरेशन (आरएजी)

पिछले सेक्शन में, आपने ऐसे प्रॉम्प्ट बनाए हैं जो टेक्स्ट, JSON, और इमेज को हैंडल कर सकते हैं. साथ ही, ये प्रॉम्प्ट आपके उपयोगकर्ताओं के लिए, छुट्टियों की जगहों और अन्य दिलचस्प कॉन्टेंट को जनरेट कर सकते हैं. आपने एक ऐसा प्रॉम्प्ट भी लागू किया है जो आपके Firestore डेटाबेस से काम के डेस्टिनेशन की जानकारी वापस लाता है. अब इन कॉम्पोनेंट को एक साथ जोड़कर, रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) फ़्लो में व्यवस्थित करने का समय है.

इस सेक्शन में, Genkit के एक अहम कॉन्सेप्ट के बारे में बताया गया है. इसे फ़्लो कहा जाता है. फ़्लो, टाइप किए गए ऐसे फ़ंक्शन होते हैं जिन्हें स्ट्रीम किया जा सकता है. इन्हें स्थानीय और दूरस्थ, दोनों तरह से लागू किया जा सकता है. साथ ही, इनकी पूरी जानकारी देखी जा सकती है. Genkit के सीएलआई और Genkit Developer UI, दोनों से फ़्लो को मैनेज और शुरू किया जा सकता है.

  1. अपने कोड एडिटर में, यात्रा की योजना बनाने के लिए दिए गए प्रॉम्प्ट की जांच करें:
    1. prompts/itineraryGen.prompt फ़ाइल खोलें.
    2. ध्यान दें कि प्रॉम्प्ट को कैसे बड़ा किया गया है, ताकि अतिरिक्त इनपुट स्वीकार किए जा सकें. खास तौर पर, रिट्रीवर से सोर्स किए गए गतिविधियों का डेटा.
  2. Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) में, src/lib/genkit/itineraryFlow.ts फ़ाइल में Genkit फ़्लो देखें.
    सलाह: डीबग करने की प्रोसेस को आसान बनाने के लिए, लंबे फ़्लो को छोटे-छोटे चरणों में बांटें.
  3. "इमेज का ब्यौरा" चरण को इंटिग्रेट करके, फ़्लो को बेहतर बनाएं:
    1. TODO: 2 टिप्पणी (लाइन 81 के आस-पास) ढूंढें. इससे उस जगह का पता चलता है जहां आपको अपने फ़्लो को बेहतर बनाना है.
    2. खाली imgDescription प्लेसहोल्डर को ai.run('imgDescription', ...) ब्लॉक से बदलें. यह ब्लॉक, tripDetails.imageUrls से जानकारी जनरेट करता है.
  4. फ़्लो की जांच करें:
    1. flows/itineraryFlow पर जाएं.
    2. 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/500px-La_Tour_Eiffel_vue_de_la_Tour_Saint-Jacques%2C_Paris_ao%C3%BBt_2014_%282%29.jpg"
          ]
      }
      
    3. Run पर क्लिक करें.
    4. जनरेट किए गए आउटपुट को देखें. इसमें यात्रा के सुझाव में इमेज का ब्यौरा शामिल होना चाहिए.
  5. अगर आपको कोई गड़बड़ी दिखती है या कोई समस्या आती है, तो ज़्यादा जानकारी देखने के लिए ट्रेस देखें पर क्लिक करें. इस टैब का इस्तेमाल, ट्रेस स्टोर से एक्ज़ीक्यूशन के इतिहास की समीक्षा करने के लिए भी किया जा सकता है.

अपने वेब ऐप्लिकेशन के लिए RAG

  1. अपने ब्राउज़र में http://localhost:3000/ पर जाकर, पक्का करें कि वेब ऐप्लिकेशन अब भी चल रहा हो.
  2. अगर वेब ऐप्लिकेशन अब नहीं चल रहा है, तो अपने टर्मिनल में ये कमांड चलाएँ:
    npm install
    npm run dev
    
  3. Dream Your Vacation वेब ऐप्लिकेशन पेज (http://localhost:3000/gemini) पर जाएं.
  4. Next.js इंटिग्रेशन के उदाहरण के लिए, इसका सोर्स कोड (src/app/gemini/page.tsx) देखें.

1e626124e09e04e9.pngb059decb53c249a1.pnge31f6acf87a98cb2.png19c0c9459d5e1601.png

9. Firebase App Hosting का इस्तेमाल करके अपना ऐप्लिकेशन डिप्लॉय करना

इस प्रोसेस का आखिरी चरण, वेब ऐप्लिकेशन को डिप्लॉय करना है. इसके लिए, आपको Firebase App Hosting का इस्तेमाल करना होगा. यह फ़्रेमवर्क के हिसाब से काम करने वाला होस्टिंग समाधान है. इसे Next.js और Angular ऐप्लिकेशन को बिना सर्वर वाले बैकएंड पर डिप्लॉय करने की प्रोसेस को आसान बनाने के लिए डिज़ाइन किया गया है.

  1. अपनी लोकल गिट रिपॉज़िटरी में बदलावों को कमिट करें. इसके बाद, उन्हें GitHub पर पुश करें.
  2. Firebase कंसोल में, अपने Firebase प्रोजेक्ट में App Hosting पर जाएं.
  3. शुरू करें > GitHub से कनेक्ट करें पर क्लिक करें.
  4. अपना GitHub खाता और रिपॉज़िटरी चुनें. आगे बढ़ें पर क्लिक करें.
  5. डिप्लॉयमेंट सेटिंग > रूट डायरेक्ट्री में, डिफ़ॉल्ट वैल्यू को बनाए रखें. अपने-आप रोल आउट होने की सुविधा का इस्तेमाल करने के लिए, अपने-आप रोल आउट होने की सुविधा चालू है विकल्प को चालू करें.
  6. लाइव ब्रांच के लिए, अपनी GitHub रिपॉज़िटरी की main ब्रांच चुनें. आगे बढ़ें पर क्लिक करें.
  7. अपने बैकएंड के लिए कोई आईडी डालें. उदाहरण के लिए, compass.
  8. जब आपसे पूछा जाए कि Firebase वेब ऐप्लिकेशन बनाना है या उसे जोड़ना है, तो मौजूदा Firebase वेब ऐप्लिकेशन चुनें को चुनें. इसके बाद, वह ऐप्लिकेशन चुनें जिसे आपने इस कोडलैब के पिछले चरण में बनाया था.
  9. पूरा करें और डिप्लॉय करें पर क्लिक करें.

मॉनिटरिंग की सुविधा डिप्लॉय करने की स्थिति

डिप्लॉयमेंट की प्रोसेस में कुछ मिनट लगेंगे. Firebase कंसोल के App Hosting सेक्शन में जाकर, इस प्रोसेस की प्रोग्रेस को ट्रैक किया जा सकता है.

अपने सेवा खाते को अनुमतियां देना

आपके 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, आपकी ज़रूरतों के हिसाब से डिप्लॉयमेंट के कई विकल्प उपलब्ध कराता है. इनमें ये शामिल हैं:

अपने (package.json) नोड फ़ोल्डर में यह कमांड चलाकर, अपनी पसंद का विकल्प चुनें:

npx genkit start

अगले चरण