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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

साथ ही, आपके बकेट के लिए Firebase के सुरक्षा नियम लागू होने चाहिए फ़ाइल का सही ऐक्सेस देना ज़रूरी है. उदाहरण के लिए:

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

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

Firebase के लिए Vertex AI की मदद से, Firebase के यूआरएल के लिए Cloud Storage का इस्तेमाल करना

पहला चरण: Firebase के लिए Cloud Storage सेट अप करना

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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