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

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

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

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

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

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

आपको यह जानकारी मिलेगी

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

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

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

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

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

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

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

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

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

D54f2043af908fb.png

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

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

सेवा

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

Firebase Genkit

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

Cloud Firestore

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

Google Cloud का Vertex AI

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

Firebase ऐप्लिकेशन होस्टिंग

इसके अलावा, आपके पास बेहतर तरीके से काम करने वाले नए Firebase ऐप्लिकेशन होस्टिंग का इस्तेमाल करने का भी विकल्प है. इससे अपना डाइनैमिक Next.js वेब ऐप्लिकेशन दिखाया जा सकता है, जो GitHub रेपो से जुड़ा होता है.

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-rag65ef006167d600ab.png से हमारे टेंप्लेट का इस्तेमाल करके, डेटा स्टोर करने की नई जगह बनाएं
  2. अभी-अभी बनाए गए कोडलैब के GitHub रिपॉज़िटरी का लोकल क्लोन बनाएं:
    git clone https://github.com/<your-github-handle>/codelab-ai-genkit-rag
    

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

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

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

अपने कंप्यूटर पर, क्लोन किया गया डेटा स्टोर करने की जगह ढूंढें और फ़ोल्डर के स्ट्रक्चर की समीक्षा करें:

फ़ोल्डर

जानकारी

genkit-functions

बैकएंड Genkit कोड

load-firestore-data

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

*बाकी सब कुछ

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

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

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

Firebase सीएलआई इंस्टॉल करें

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

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

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) डालें.
    अपने Firebase प्रोजेक्ट के लिए, अपने-आप असाइन किया गया प्रोजेक्ट आईडी याद रखें (या अपना पसंदीदा प्रोजेक्ट आईडी सेट करने के लिए बदलाव करें आइकॉन पर क्लिक करें). Firebase सीएलआई में अपने Firebase प्रोजेक्ट की पहचान करने के लिए, आपको बाद में इस आईडी की ज़रूरत होगी. अगर आपको आईडी याद नहीं है, तो इसे बाद में प्रोजेक्ट सेटिंग में जाकर कभी भी देखा जा सकता है.
  3. जारी रखें पर क्लिक करें.
  4. अगर कहा जाए, तो Firebase की शर्तें पढ़ें और उन्हें स्वीकार करें. इसके बाद, जारी रखें पर क्लिक करें.
  5. इस कोडलैब के लिए, आपको Google Analytics की ज़रूरत नहीं है. इसलिए, Google Analytics के विकल्प को टॉगल करें.
  6. प्रोजेक्ट बनाएं पर क्लिक करें और अपने प्रोजेक्ट के प्रावधान होने का इंतज़ार करें. इसके बाद, जारी रखें पर क्लिक करें.

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

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

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

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

Firebase Genkit और Vertex AI (और उनकी मौजूदा क्लाउड सेवाएं) का इस्तेमाल करने के लिए, आपको बिलिंग की सुविधा चालू करने के लिए, अपना Firebase प्रोजेक्ट अपग्रेड करना होगा.

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

  1. अपने Firebase प्रोजेक्ट में, Firebase बिलिंग प्लान पर जाएं.
  2. Firebase के बिलिंग प्लान के डायलॉग बॉक्स में, Blaze प्लान चुनें और उसे खरीदें.

Cloud Firestore को चालू करें

  1. बिल्ड > पर जाएं बाएं नेविगेशन पैनल का इस्तेमाल करके, Firestore डेटाबेस.
  2. डेटाबेस बनाएं पर क्लिक करें.
  3. डेटाबेस आईडी को (default) पर सेट रहने दें.
  4. अपनी पसंदीदा Cloud Firestore जगह चुनें (या इसे डिफ़ॉल्ट के तौर पर छोड़ दें).
  5. आगे बढ़ें पर क्लिक करें.
  6. टेस्ट मोड में चालू करें को चुनें.
  7. बनाएं पर क्लिक करें.

Vertex AI की सुविधा चालू करें

Vertex AI को सेट अप करने के लिए, gcloud सीएलआई का इस्तेमाल करें. इस पेज पर दिए गए सभी निर्देशों के लिए, 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
    
  4. अपने सेवा खाते के लिए अनुमतियां दें:
    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"
    

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

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

अपने प्रोजेक्ट को टारगेट करने के लिए, Firebase सीएलआई को कॉन्फ़िगर करें

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

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

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

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

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

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

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

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

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

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

कंपास, एक Next.js ऐप्लिकेशन है, जिसमें रिऐक्ट सर्वर कॉम्पोनेंट का इस्तेमाल किया जाता है. यह होम पेज भी है.

मेरी पसंदीदा यात्रा ढूंढें पर क्लिक करें. आप देख सकते हैं कि यह फ़िलहाल कुछ तय डेस्टिनेशन के लिए हार्ड कोड किया गया कुछ डेटा दिखाता है:

मेरे सपनों की यात्रा वाली स्क्रीन खोजें

बेझिझक एक्सप्लोर करें. जब आप जारी रखने के लिए तैयार हों, तो (ऊपर दाएँ कोने में) होम होम बटन पर क्लिक करें.

6. Genkit की मदद से जनरेटिव एआई का इस्तेमाल करें

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

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

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

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

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

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

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

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

  1. Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) लॉन्च करें:
    1. नई टर्मिनल विंडो खोलें.
    2. अपनी genkit-functions डायरेक्ट्री के रूट पर जाएं.
    3. Genkit डेवलपर यूज़र इंटरफ़ेस (यूआई) शुरू करने के लिए, नीचे दिया गया कमांड चलाएं:
      cd genkit-functions
      npx genkit start
      
  2. अपने ब्राउज़र में, स्थानीय तौर पर होस्ट किए गए Genkit के यूआरएल पर जाएं. ज़्यादातर मामलों में, यह http://localhost:4000/ होता है.

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

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

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

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

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

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

डॉटप्रॉम्प्ट का इस्तेमाल करने के लिए, 'हैलो-वर्ल्ड' से शुरुआत करें:

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

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

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

आउटपुट स्कीमा को एक्सप्लोर करना

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

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

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

स्कीमा पर आधारित आउटपुट को समझना

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

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

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

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

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

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

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

  1. अपने कोड एडिटर में, प्रॉम्प्ट फ़ाइल की जांच करें:
    1. genkit-functions/prompts/imgDescription.prompt फ़ाइल खोलें.
    2. {{media url=this}} को शामिल करने पर ध्यान दें. हैंडलबार एक सिंटैक्स एलिमेंट है, जो आपके प्रॉम्प्ट में इमेज शामिल करने की सुविधा देता है.
  2. यूज़र इंटरफ़ेस (यूआई) का इस्तेमाल करें:
    1. Genkit Developer के यूज़र इंटरफ़ेस (यूआई) में, dotprompt/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. अपने टर्मिनल में, नया ऐल्फ़ा कॉम्पोनेंट इंस्टॉल करने के लिए नीचे दिया गया कमांड चलाएं. आपके पास 2024.05.03 या बाद का वर्शन होना चाहिए:
    gcloud components install alpha
    
  2. इंडेक्स बनाएं और YOUR_PROJECT_ID को अपने प्रोजेक्ट के आईडी से बदलना न भूलें.
    gcloud alpha firestore indexes composite create --project=YOUR_PROJECT_ID --collection-group=places --query-scope=COLLECTION --field-config=vector-config='{"dimension":"768","flat": "{}"}',field-path=embedding
    
  3. Genkit Developer के यूज़र इंटरफ़ेस (यूआई) में, placesRetriever खोलें.
  4. Run पर क्लिक करें. स्कैफ़ोल्ड किए गए ऑब्जेक्ट को प्लेसहोल्डर टेक्स्ट की मदद से देखें. इससे पता चलेगा कि रिट्रीवर लॉजिक को कहां लागू करना है.
  5. अपने कोड एडिटर में, genkit-functions/src/lib/placesRetriever.ts फ़ाइल खोलें.
  6. नीचे की ओर स्क्रोल करें और placesRetriever प्लेसहोल्डर को इनसे बदल दें:
    export const placesRetriever = defineFirestoreRetriever({
      name: 'placesRetriever',
      firestore,
      collection: 'places',
      contentField: 'knownFor',
      vectorField: 'embedding',
      embedder: textEmbeddingGecko,
      distanceMeasure: 'COSINE',
    });
    

रिट्रीवर की जांच करें

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

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

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

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

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

  1. अपने कोड एडिटर में, यात्रा की योजना के प्रॉम्प्ट की जांच करें:
    1. genkit-functions/prompts/itineraryGen.prompt फ़ाइल खोलें.
    2. ध्यान दें कि अन्य इनपुट स्वीकार करने के लिए, प्रॉम्प्ट को किस तरह बड़ा किया गया है. खास तौर पर, रिट्रीवर से मिला डेटा सोर्स गतिविधियां.
  2. Genkit Developer के यूज़र इंटरफ़ेस (यूआई) में, genkit-functions/src/lib/itineraryFlow.ts फ़ाइल में Genkit फ़्लो देखें.
    सलाह: डीबग करने की प्रोसेस को आसान बनाने के लिए, लंबे फ़्लो को छोटे-छोटे हिस्सों में बांटें. इन चरणों को मैनेज किया जा सकता है.
  3. "इमेज का ब्यौरा" जोड़कर प्रक्रिया को बेहतर बनाएं चरण:
    1. TODO: 2 टिप्पणी ढूंढें (लाइन 70 के आस-पास). यह ऐसी जगह है जहां आपको बेहतर फ़्लो मिलेगा.
    2. खाली imgDescription प्लेसहोल्डर को imgDescription प्रॉम्प्ट कॉल से जनरेट हुए आउटपुट से बदलें.
  4. फ़्लो की जांच करें:
    1. 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/556px-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 छुट्टियाँ वेब ऐप्लिकेशन पेज (http://localhost:3000/gemini) देखें.
  4. Next.js इंटिग्रेशन के उदाहरण के लिए इसका सोर्स कोड (src/app/gemini/page.tsx) देखें.

1e626124e09e04e9.png b059decb53c249a1.png e31f6acf87a98cb2.png 19c0c9459d5e1601.png

9. Firebase ऐप्लिकेशन होस्टिंग की मदद से अपने ऐप्लिकेशन को डिप्लॉय करें

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

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

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

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

अपने-आप फिर से डिप्लॉयमेंट

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

10. नतीजा

कई सुविधाओं वाले इस कोडलैब को पूरा करने के लिए बधाई!

आपने Firebase Genkit, Firestore, और Vertex AI की मदद से, बेहतर "फ़्लो" बना लिया है जो उपयोगकर्ता की पसंद और प्रेरणा के आधार पर, आपके हिसाब से छुट्टी के सुझाव जनरेट करती है. यह सब आपके ऐप्लिकेशन के डेटा में मौजूद सुझावों के आधार पर किया जाता है.

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

  • प्रॉम्प्ट मैनेजमेंट: प्रॉम्प्ट को कोड के तौर पर व्यवस्थित करना और उन्हें बनाए रखना, ताकि साथ मिलकर बेहतर तरीके से काम किया जा सके और वर्शन कंट्रोल किया जा सके.
  • मल्टीमॉडल कॉन्टेंट: एआई (AI) इंटरैक्शन को बेहतर बनाने के लिए, इमेज और टेक्स्ट जैसे अलग-अलग तरह के डेटा को इंटिग्रेट करना.
  • इनपुट/आउटपुट स्कीमा: आपके ऐप्लिकेशन में आसान इंटिग्रेशन और पुष्टि के लिए डेटा स्ट्रक्चर करना.
  • वेक्टर स्टोर: एक जैसा अनुभव देने और काम की जानकारी वापस पाने के लिए, वेक्टर एम्बेड करने की सुविधा का इस्तेमाल करना.
  • डेटा वापस पाना: डेटाबेस से डेटा को फ़ेच करने और उसे एआई से बनाए गए कॉन्टेंट में शामिल करने के तरीके लागू करना.
  • रिकवरी ऑगमेंटेड जनरेशन (आरएजी): सटीक और काम के आउटपुट देने के लिए, जनरेटिव एआई के साथ डेटा वापस पाने की तकनीकों का इस्तेमाल करना.
  • फ़्लो इंस्ट्रुमेंटेशन: आसान और मॉनिटर किए जा सकने वाले एक्ज़ीक्यूशन के लिए, मुश्किल एआई वर्कफ़्लो बनाना और व्यवस्थित करना.

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

डिप्लॉयमेंट के अन्य विकल्पों का पता लगाना

Genkit आपकी खास ज़रूरतों के हिसाब से, डिप्लॉयमेंट के कई विकल्प देता है. इनमें ये शामिल हैं:

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

npx genkit init

अगले चरण