मल्टीमॉडल अनुरोधों में बड़ी फ़ाइलें शामिल करें और 'Firebase के लिए Cloud Storage' का इस्तेमाल करके फ़ाइलें मैनेज करें

इसका इस्तेमाल करके अपने ऐप्लिकेशन से Gemini API को कॉल करते समय Vertex AI in Firebase SDK टूल, Gemini मॉडल को टेक्स्ट जनरेट करने के लिए कहा जा सकता है जो मल्टीमोडल इनपुट के हिसाब से हो. मल्टीमोडल प्रॉम्प्ट में कई विकल्प हो सकते हैं (या इनपुट के टाइप). जैसे, इमेज के साथ-साथ टेक्स्ट, PDF, वीडियो, और ऑडियो.

इनपुट के बिना टेक्स्ट वाले हिस्सों (जैसे, मीडिया फ़ाइलें) के लिए, वैकल्पिक तौर पर अनुरोध में फ़ाइलें शामिल करने के लिए Cloud Storage for Firebase. एटी तो इस सुविधा के बारे में आपको ये बातें पता होनी चाहिए:

  • Cloud Storage for Firebase का इस्तेमाल किसी भी मल्टीमोडल अनुरोध के साथ किया जा सकता है. जैसे, दोनों टेक्स्ट जनरेट करने और चैट करने की सुविधा). इसमें उदाहरण इस गाइड में बुनियादी टेक्स्ट और इमेज का इनपुट दिखाया गया है.

  • आपको फ़ाइल का MIME टाइप और उसका Cloud Storage for Firebase यूआरएल बताना होगा अनुरोध इनपुट में (यह हमेशा gs:// से शुरू होता है). ये वैल्यू Cloud Storage पर अपलोड की जाने वाली किसी भी फ़ाइल को मेटाडेटा अपने-आप असाइन हो जाता है बकेट.

  • आपको ऐसे फ़ाइल टाइप और यूआरएल का इस्तेमाल करना होगा जो काम करता हो.


समाधान की इस गाइड में, Cloud Storage for Firebase को सेट अप करने का तरीका बताया गया है Google Cloud, अपने ऐप्लिकेशन से Cloud Storage for Firebase बकेट में फ़ाइल अपलोड करें, और फिर फ़ाइल का MIME टाइप और Cloud Storage for Firebase यूआरएल अपने Gemini API के लिए मल्टीमोडल अनुरोध.

क्या आपको इन कोड के उदाहरण देखने हैं? या आपने पहले ही सेट अप कर लिया है Cloud Storage for Firebase और आप अपने मल्टीमॉडल अनुरोध हैं?

कोड के उदाहरणों पर जाएं

अपने ऐप्लिकेशन के साथ Cloud Storage for Firebase का इस्तेमाल क्यों करना चाहिए?

Cloud Storage for Firebase उसी तेज़, सुरक्षित, और ब्लॉब और फ़ाइलें सेव करने के लिए, Google Cloud Storage जैसा बुनियादी इन्फ़्रास्ट्रक्चर, और इसके क्लाइंट SDK टूल खास तौर पर मोबाइल और वेब ऐप्लिकेशन के लिए बनाए गए हैं.

Vertex AI in Firebase SDK टूल के लिए, अनुरोध का साइज़ ज़्यादा से ज़्यादा 20 एमबी हो सकता है. अगर कोई अनुरोध बहुत बड़ा होता है, तो आपको HTTP 413 गड़बड़ी मिलती है. अगर किसी फ़ाइल का साइज़ अनुरोध का कुल साइज़ 20 एमबी से ज़्यादा कर दें. इसके बाद, आपके मल्टीमोडल अनुरोध में फ़ाइल शामिल करने के लिए Cloud Storage for Firebase यूआरएल. हालांकि, अगर कोई फ़ाइल छोटी है, तो उसे सीधे इनलाइन डेटा के तौर पर भेजा जा सकता है (हालांकि, ध्यान दें कि इनलाइन डेटा के तौर पर दी गई फ़ाइल को ट्रांज़िट, जिससे अनुरोध का साइज़ बढ़ जाता है.

Cloud Storage for Firebase का इस्तेमाल करने के कुछ और फ़ायदे यहां दिए गए हैं:

  • आप असली उपयोगकर्ताओं से सीधे अपने ऐप्लिकेशन से इमेज को Cloud Storage for Firebase बकेट शामिल हो सकती है. इसके बाद, इन इमेज को इसमें शामिल किया जा सकता है आपके मल्टीमोडल प्रॉम्प्ट सिर्फ़ फ़ाइल का MIME टाइप तय करके और Cloud Storage for Firebase यूआरएल (जो फ़ाइल का आइडेंटिफ़ायर है).

  • अगर उपयोगकर्ताओं को इमेज देनी हैं, तो उनका समय और बैंडविथ सेव किया जा सकता है. खासकर तब, जब उनके नेटवर्क की क्वालिटी खराब या कमज़ोर हो.

    • अगर किसी फ़ाइल को अपलोड या डाउनलोड करने में रुकावट आती है, तो Cloud Storage for Firebase SDK टूल अपने-आप वहीं से कार्रवाई शुरू कर देता है जहां उसे छोड़ा गया था.
    • अपलोड की गई एक ही फ़ाइल को असली उपयोगकर्ता के बिना कई बार इस्तेमाल किया जा सकता है आपको आपके ऐप्लिकेशन में हर बार एक ही फ़ाइल अपलोड करनी होगी (जैसे फ़ाइल फ़ोल्डर में नया मल्टीमोडल अनुरोध).
  • आपके पास असली उपयोगकर्ता को उन फ़ाइलों को ऐक्सेस करने से रोकने का विकल्प होता है जो Firebase Security Rules का इस्तेमाल करके Cloud Storage for Firebase, इसकी मदद से, सिर्फ़ अनुमति वाले उपयोगकर्ता ही फ़ाइलें अपलोड, डाउनलोड या मिटा सकते हैं.

  • अपने बकेट में मौजूद फ़ाइलों को, Firebase से या Google Cloud से ऐक्सेस किया जा सकता है, इससे आपको इमेज जैसी सर्वर-साइड प्रोसेसिंग करने की सुविधा मिलती है फ़िल्टर करने या वीडियो ट्रांसकोडिंग करने के लिए, Google Cloud Storage API इस्तेमाल करते हैं.

किस तरह की फ़ाइलें और यूआरएल काम करते हैं?

अगर आपको किसी फ़ाइल का इस्तेमाल करने के लिए, किसी फ़ाइल या यूआरएल का इस्तेमाल करना है, तो उसके लिए ज़रूरी शर्तें यहां दी गई हैं Vertex AI in Firebase SDK टूल वाले Cloud Storage for Firebase यूआरएल:

  • फ़ाइल को मल्टीमॉडल अनुरोधों के लिए इनपुट फ़ाइलों से जुड़ी ज़रूरी शर्तें Vertex AI in Firebase SDK टूल इस्तेमाल करते समय. इसमें ज़रूरी शर्तें शामिल हैं जैसे MIME टाइप और फ़ाइल साइज़.

  • फ़ाइल, Cloud Storage for Firebase बकेट में सेव होनी चाहिए (इसका मतलब है कि बकेट को Firebase सेवाओं के लिए ऐक्सेस किया जा सकता है, जैसे कि Firebase Security Rules). अगर आपको Firebase कंसोल, यह Cloud Storage for Firebase बकेट है.

  • Cloud Storage for Firebase बकेट, इसी Firebase प्रोजेक्ट में इसमें होना चाहिए: जिसे आपने अपना ऐप्लिकेशन रजिस्टर किया था.

  • फ़ाइल का Cloud Storage for Firebase यूआरएल gs:// से शुरू होना चाहिए, जो कि सभी Google Cloud Storage यूआरएल को बनाने का तरीका है.

  • फ़ाइल का यूआरएल "ब्राउज़र" नहीं हो सकता यूआरएल (उदाहरण के लिए, किसी इमेज का यूआरएल जो आपको इंटरनेट पर मिलते हैं).

साथ ही, आपके बकेट के लिए Firebase Security Rules की अनुमति होनी चाहिए भी आपके पास सही विकल्प होना चाहिए. उदाहरण के लिए:

  • अगर आपने सार्वजनिक नियम लागू किए हैं, तो इसके बाद, कोई भी उपयोगकर्ता या क्लाइंट फ़ाइल को ऐक्सेस करके, कॉल में उसका यूआरएल दे सकता है Vertex AI in Firebase SDK टूल का इस्तेमाल करके. इस तरह के नियमों का इस्तेमाल सिर्फ़ इन कामों के लिए किया जाना चाहिए आरंभ करें और प्रारंभिक प्रोटोटाइपिंग के दौरान (जब तक कि फ़ाइलें असल में फ़ाइलें पूरी तरह से सार्वजनिक तौर पर ऐक्सेस की जा सकती हों.

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

Vertex AI in Firebase के साथ Cloud Storage for Firebase यूआरएल का इस्तेमाल करें

पहला चरण: Cloud Storage for Firebase सेट अप करें

यहां ऐसे हाई-लेवल टास्क दिए गए हैं जो आपको पूरे करने होंगे:

  1. अपने Firebase प्रोजेक्ट में Cloud Storage for Firebase बकेट बनाएं.

  2. इस बकेट पर Firebase Security Rules लागू करें. Firebase Security Rules आपकी मदद करता है अपनी फ़ाइलों को सुरक्षित करने के लिए, उस असली उपयोगकर्ता का ऐक्सेस प्रतिबंधित करें.

  3. अपने ऐप्लिकेशन में, Cloud Storage for Firebase के लिए क्लाइंट लाइब्रेरी जोड़ें.

    ध्यान दें कि आप इस टास्क को छोड़ सकते हैं, लेकिन आपको फिर हमेशा ऐसा करना होगा अपने मल्टीमोडल अनुरोधों में, MIME टाइप और Cloud Storage for Firebase यूआरएल की वैल्यू को साफ़ तौर पर शामिल करें.

दूसरा चरण: बकेट में फ़ाइल अपलोड करना

जब किसी बकेट में फ़ाइल अपलोड की जाती है, तो Cloud Storage अपने-आप लागू हो जाता है कुछ जानकारी देनी होगी. आपको इसे शामिल करना होगा मल्टीमोडल अनुरोध में ये मान (जैसा कि इस गाइड देखें).

  • MIME टाइप: यह फ़ाइल का मीडिया टाइप है (उदाहरण के लिए, image/png). Cloud Storage for Firebase, MIME टाइप का पता अपने-आप लगाने की कोशिश करेगा और उस मेटाडेटा को बकेट में मौजूद ऑब्जेक्ट पर लागू कर दें. हालांकि, अपलोड करते समय, आपके पास MIME टाइप तय करने का भी विकल्प होता है.

  • Cloud Storage for Firebase यूआरएल: यह फ़ाइल का यूनीक आइडेंटिफ़ायर है. यूआरएल gs:// से शुरू होना चाहिए.

तीसरा चरण: मल्टीमोडल अनुरोध में फ़ाइल का MIME टाइप और यूआरएल शामिल करें

जब आपकी किसी फ़ाइल को Cloud Storage for Firebase बकेट में सेव कर लिया जाता है, तो ये काम किए जा सकते हैं मल्टीमोडल अनुरोध में इसके MIME टाइप और Cloud Storage for Firebase यूआरएल को शामिल करें. ध्यान दें कि इन उदाहरणों में, बिना स्ट्रीमिंग वाला generateContent अनुरोध दिखाया गया है. हालांकि, स्ट्रीमिंग और चैट के साथ Cloud Storage for Firebase के यूआरएल का भी इस्तेमाल किया जा सकता है.

अनुरोध में फ़ाइल शामिल करने के लिए, इनमें से किसी भी विकल्प का इस्तेमाल किया जा सकता है:

पहला विकल्प: स्टोरेज के लिए रेफ़रंस का इस्तेमाल करके, MIME टाइप और यूआरएल शामिल करना

अगर आपने अभी-अभी बकेट में फ़ाइल अपलोड की है और आपको मल्टीमोडल में फ़ाइल को तुरंत (स्टोरेज रेफ़रंस के ज़रिए) शामिल करें अनुरोध. कॉल के लिए MIME प्रकार और Cloud Storage for Firebase यूआरएल.

दूसरा विकल्प: MIME टाइप और यूआरएल को साफ़ तौर पर शामिल करें

अगर आपको एमआईएमई टाइप की वैल्यू पता है और इस विकल्प का इस्तेमाल करना है, तो इस विकल्प का इस्तेमाल करें Cloud Storage for Firebase यूआरएल को एक्सपोर्ट कर सकते हैं और आप उन्हें साफ़ तौर पर मल्टीमॉडल अनुरोध. कॉल के लिए MIME टाइप और यूआरएल, दोनों की ज़रूरत होती है.