किसी भी ऐप्लिकेशन होस्टिंग प्लैटफ़ॉर्म पर फ़्लो डिप्लॉय करें

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

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

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

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

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

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

    genkit init
    

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

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

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

    if err := genkit.Init(ctx,
    	&genkit.Options{FlowAddr: ":3400"}, // Add this parameter.
    ); err != nil {
    	log.Fatal(err)
    }
    

    अगर आपको सेवा देने वाली कंपनी चाहती है कि आपको किसी खास पोर्ट पर संगीत सुनना हो, तो Genkit को उसके हिसाब से कॉन्फ़िगर करें.

  5. आपको जिन फ़्लो को डिप्लॉय करना है उनके ऐक्सेस को रोकने के लिए, पुष्टि करने और अनुमति पाने का कोई तरीका लागू करें.

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

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

    Gemini (Google का एआई)

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

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

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

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

    Gemini (Vertex AI)

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

    2. अगर आपके पास Vertex AI API नहीं है, तो IAM पेज पर जाकर इसे ऐक्सेस करने के लिए सेवा खाता बनाएं.

      खाते को Vertex AI User की भूमिका दें.

    3. अपने होस्टिंग एनवायरमेंट में ऐप्लिकेशन के डिफ़ॉल्ट क्रेडेंशियल सेट अप करें.

    4. प्लगिन को अपने Google Cloud प्रोजेक्ट आईडी और Vertex AI API की उस लोकेशन के साथ कॉन्फ़िगर करें जिसका आपको इस्तेमाल करना है. ऐसा करने के लिए, अपने होस्टिंग एनवायरमेंट में GCLOUD_PROJECT और GCLOUD_LOCATION एनवायरमेंट वैरिएबल सेट करें या vertexai.Init() कॉल में ऐसा करें.

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

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

    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 पर क्लिक करें.

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