Cloud Run के साथ Firebase जेनकिट

Cloud Run का इस्तेमाल करके, Firebase Genkit फ़्लो को वेब सेवाओं के तौर पर डिप्लॉय किया जा सकता है. उदाहरण के लिए, इस पेज में आपको डिफ़ॉल्ट सैंपल फ़्लो को डिप्लॉय करने की प्रोसेस के बारे में जानकारी मिलेगी.

  1. ज़रूरी टूल इंस्टॉल करें:

    1. पक्का करें कि Node.js का 20 या इसके बाद वाला वर्शन इस्तेमाल किया जा रहा हो (जांच करने के लिए, node --version चलाएं).

    2. Google Cloud सीएलआई इंस्टॉल करें.

  2. Cloud कंसोल का इस्तेमाल करके नया Google Cloud प्रोजेक्ट बनाएं या कोई मौजूदा प्रोजेक्ट चुनें. प्रोजेक्ट, किसी बिलिंग खाते से जुड़ा होना चाहिए.

    प्रोजेक्ट बनाने या चुनने के बाद, Google Cloud सीएलआई को इस्तेमाल करने के लिए उसे कॉन्फ़िगर करें:

    gcloud init
    
  3. Genkit सैंपल प्रोजेक्ट के लिए एक डायरेक्ट्री बनाएं:

    mkdir -p ~/tmp/genkit-cloud-project
    cd ~/tmp/genkit-cloud-project
    

    अगर आपको किसी IDE का इस्तेमाल करना है, तो उसे इस डायरेक्ट्री में खोलें.

  4. अपनी प्रोजेक्ट डायरेक्ट्री में Node.js प्रोजेक्ट शुरू करें:

    npm init -y
    
  5. अपने Node.js प्रोजेक्ट में Genkit को शुरू करें:

    genkit init
    
    • डिप्लॉयमेंट प्लैटफ़ॉर्म के तौर पर, Google Cloud को चुनें.
    • वह मॉडल प्रोवाइडर चुनें जिसका आपको इस्तेमाल करना है.

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

  6. अपने डिप्लॉय किए गए फ़ंक्शन के लिए, एपीआई क्रेडेंशियल उपलब्ध कराएं. आपने मॉडल प्रोवाइडर को जो चुना है उसके हिसाब से, इनमें से कोई एक काम करें:

    Gemini (Google का एआई)

    1. पक्का करें कि Google का एआई आपके इलाके में उपलब्ध हो.

    2. Google AI Studio का इस्तेमाल करके, Gemini API के लिए एपीआई पासकोड जनरेट करें.

    3. Cloud Run एनवायरमेंट में एपीआई कुंजी उपलब्ध कराएं:

      1. Cloud Console में, Secret Manager API चालू करें.
      2. सीक्रेट मैनेजर पेज पर, एपीआई पासकोड वाला नया सीक्रेट बनाएं.
      3. सीक्रेट बनाने के बाद, उसी पेज पर, अपने डिफ़ॉल्ट सेवा खाते को सीक्रेट मैनेजर सीक्रेट ऐक्सेसर की भूमिका के साथ सीक्रेट का ऐक्सेस दें. IAM पेज पर डिफ़ॉल्ट कंप्यूट सेवा खाते का नाम देखा जा सकता है.

      बाद के चरण में, अपनी सेवा डिप्लॉय करते समय, आपको इस सीक्रेट का नाम बताना होगा.

    4. ज़रूरी नहीं: अगर आपको अपने फ़्लो को स्थानीय तौर पर चलाना है, तो अगले चरण की तरह, अपनी कुंजी पर GOOGLE_GENAI_API_KEY एनवायरमेंट वैरिएबल सेट करें:

      export GOOGLE_GENAI_API_KEY=<your API key>
      

    Gemini (Vertex AI)

    1. Cloud Console में, अपने प्रोजेक्ट के लिए Vertex AI API चालू करें.

    2. IAM पेज पर, पक्का करें कि डिफ़ॉल्ट कंप्यूट सेवा खाते को Vertex AI User की भूमिका दी गई हो.

    3. ज़रूरी नहीं: अगर आपको अपने फ़्लो को स्थानीय तौर पर चलाना है, तो अगले चरण की तरह, कुछ अतिरिक्त एनवायरमेंट वैरिएबल सेट करें. साथ ही, ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करने के लिए, gcloud टूल का इस्तेमाल करें:

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      

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

  7. ज़रूरी नहीं: डेवलपर यूज़र इंटरफ़ेस (यूआई) में अपना फ़्लो आज़माएं:

    1. यूज़र इंटरफ़ेस (यूआई) शुरू करें:

      genkit start
      
    2. डेवलपर के यूज़र इंटरफ़ेस (यूआई) (http://localhost:4000/) में, फ़्लो चलाएं:

      1. मेन्यू SuggestionFlow पर क्लिक करें.

      2. इनपुट JSON टैब पर, मॉडल के लिए विषय दें:

        "banana"
        
      3. Run पर क्लिक करें.

  8. अगर अब तक सब कुछ उम्मीद के मुताबिक काम कर रहा है, तो फ़्लो को बनाएं और डिप्लॉय करें:

    Gemini (Google का एआई)

    npm run build
    gcloud run deploy --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    npm run build
    gcloud run deploy
    

    जब आपसे पूछा जाए कि क्या बिना पुष्टि वाले बातचीत को अनुमति देनी है, तो N को चुनें. N का जवाब देने पर, आपकी सेवा IAM क्रेडेंशियल के मुताबिक कॉन्फ़िगर हो जाएगी. इन क्रेडेंशियल को देने के बारे में जानकारी के लिए, Cloud Run दस्तावेज़ में पुष्टि करने की सुविधा देखें.

डिप्लॉयमेंट की प्रोसेस पूरी होने के बाद, यह टूल सेवा यूआरएल को प्रिंट करेगा. इसकी जांच curl से की जा सकती है:

curl -X POST https://<service-url>/menuSuggestionFlow \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: application/json" -d '{"data": "banana"}'