Cloud Run के साथ Firebase Genkit

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

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

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

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

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

    प्रोजेक्ट बनाने या चुनने के बाद, इस्तेमाल करने के लिए 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. सीक्रेट बनाने के बाद, उसी पेज पर अपनी डिफ़ॉल्ट पहचान की पुष्टि करने के लिए, सीक्रेट मैनेजर सीक्रेट ऐक्सेसर की भूमिका. (आप अपनी वेबसाइट पर पर क्लिक करें.)

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

    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 के उपयोगकर्ता की भूमिका.

    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. menuसुझावFlow पर क्लिक करें.

      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 क्रेडेंशियल के हिसाब से कॉन्फ़िगर हो जाएगी. यहां जाएं: पुष्टि करना पर जाएं.

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

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