Cloud Run के साथ Firebase Genkit

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

  1. Google Cloud सीएलआई इंस्टॉल करें, अगर आपने पहले से नहीं किया है.

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

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

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

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

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

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

    go mod init example/cloudrun
    
  5. अपने प्रोजेक्ट में Genkit शुरू करें:

    genkit init
    

    मॉडल की सेवा देने वाली उस कंपनी को चुनें जिसका आपको इस्तेमाल करना है.

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

  6. साफ़ तौर पर जानकारी देने के लिए, सैंपल फ़ाइल (main.go या genkit.go) में बदलाव करें वह फ़्लो सर्वर पोर्ट करें जिस पर फ़्लो सर्वर को सुनना चाहिए:

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    
  7. डिप्लॉय किए गए अपने फ़ंक्शन के लिए, एपीआई क्रेडेंशियल उपलब्ध कराएं. कोई एक काम करें नीचे दिया गया है, जो आपके चुने मॉडल कंपनी के आधार पर:

    Gemini (Google का एआई)

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

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

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

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

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

    Gemini (Vertex AI)

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

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

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

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

    1. आपने मॉडल बनाने वाली जो कंपनी चुनी है उसके लिए, अपना लोकल एनवायरमेंट सेट अप करें:

      Gemini (Google का एआई)

      export GOOGLE_GENAI_API_KEY=<your API key>
      

      Gemini (Vertex AI)

      export GCLOUD_PROJECT=<your project ID>
      export GCLOUD_LOCATION=us-central1
      gcloud auth application-default login
      
    2. यूज़र इंटरफ़ेस (यूआई) शुरू करें:

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

      1. menuसुझावFlow पर क्लिक करें.

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

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

  9. अगर अब तक सब कुछ उम्मीद के मुताबिक काम कर रहा है, तो फ़्लो:

    Gemini (Google का एआई)

    gcloud run deploy --port 3400 \
      --update-secrets=GOOGLE_GENAI_API_KEY=<your-secret-name>:latest
    

    Gemini (Vertex AI)

    gcloud run deploy --port 3400 \
      --set-env-vars GCLOUD_PROJECT=<your-gcloud-project> \
      --set-env-vars GCLOUD_LOCATION=us-central1
    

    (GCLOUD_LOCATION, Vertex API क्षेत्र को कॉन्फ़िगर करता है, जिसका आपको इस्तेमाल करना है.)

    जब आपसे पूछा जाए कि क्या आपको बिना पुष्टि वाले उन अनुरोधों को अनुमति देनी है, तो 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 '"banana"'