इंटेलिजेंट ऐप्लिकेशन

Firebase AI Logic और Gemini Nano 4 की मदद से, सुरक्षित और कम लागत वाले Android ऐप्लिकेशन बनाना

स्पीकर

  • अंकिता सक्सेना

    प्रॉडक्ट मैनेजर

  • आर्थर थॉम्पसन

    डेवलपर रिलेशंस इंजीनियर

इसके बारे में

बातचीत के बारे में जानकारी

Android ऐप्लिकेशन में प्रोडक्शन के लिए तैयार जनरेटिव एआई को शामिल करने के लिए, सिर्फ़ एलएलएम से कनेक्ट करना काफ़ी नहीं है. इसके लिए, एंटरप्राइज़-ग्रेड की सुरक्षा और लागत कंट्रोल की भी ज़रूरत होती है. इस सेशन में जानें कि Firebase AI Logic, डेवलपर को बड़े पैमाने पर सुरक्षित और बजट के हिसाब से एआई की सुविधाएं डिप्लॉय करने में कैसे मदद करता है.

हम सुरक्षा से जुड़ी बुनियादी बातों और Firebase App Check, लागत मैनेजमेंट, डाइनैमिक मॉडल रूटिंग से लेकर मल्टीमोडल सुविधाओं का फ़ायदा लेने के बारे में बताएंगे.

खास जानकारी

  • Firebase AI Logic, क्लाइंट SDK टूल से मिले अनुरोधों को सीधे Gemini API पर भेजता है. इसके लिए, कस्टम बैक एंड की ज़रूरत नहीं होती. सर्वर प्रॉम्प्ट टेंप्लेट, प्रॉम्प्ट को क्लाउड में सेव करते हैं, ताकि ऐप्लिकेशन को अपडेट न करना पड़े.
  • Firebase App Check, संसाधनों को गलत इस्तेमाल से बचाता है. इसके लिए, यह पक्का किया जाता है कि अनुरोध आपके ऐप्लिकेशन से ही किए गए हों. जांच लागू करने से पहले, यह Play Integrity और reCAPTCHA Enterprise जैसी पुष्टि करने वाली सेवा देने वाली कंपनियों को इंटिग्रेट करता है.
  • Gemini Nano 4, उपयोगकर्ता के डिवाइस पर अनुमान लगाता है, ताकि इंतज़ार का समय कम हो और उपयोगकर्ता की निजता सुरक्षित रहे. ज़रूरत पड़ने पर, Firebase AI Logic क्लाउड पर फ़ॉलबैक रूटिंग को मैनेज करता है.
  • खर्च की सीमाएं और Firebase AI Logic ट्रिगर, क्लाउड के खर्चों का अनुमान लगाने में मदद करते हैं. Firebase, बजट का 100% खर्च होने पर आपकी एआई सेवा को अपने-आप रोक देता है. साथ ही, ट्रिगर की मदद से, कॉन्टेंट जनरेट होने से पहले या बाद में कस्टम फ़ंक्शन चलाए जा सकते हैं.
  • Gemini Live API, ऑडियो और वीडियो स्ट्रीमिंग के ज़रिए, दोनों तरफ़ से बातचीत करने की सुविधा देता है. क्लाइंट एसडीके, WebSocket कनेक्शन और स्ट्रीमिंग प्रोटोकॉल को मैनेज करता है.

Gemini Notebook

विषय

  • firebase-ai-logic
  • gemini-nano
  • firebase-app-check
  • on-device-ai
  • लागत-ऑप्टिमाइज़ेशन
  • gemini-live-api

ट्रांसक्रिप्ट

ट्रांसक्रिप्ट डाउनलोड करें

Firebase AI Logic के बारे में खास जानकारी

  • Android डेवलपर समिट में आपका स्वागत है.

  • मैं अंकिता सक्सेना हूं, Firebase की प्रॉडक्ट मैनेजर.

  • मैं आर्थर थॉम्पसन हूं. मैं Firebase टीम में डेवलपर रिलेशंस इंजीनियर हूं.

  • आज हम आपको Android ऐप्लिकेशन में जनरेटिव एआई की सुविधाएं जोड़ने का तरीका बताएंगे.

  • ठीक है।

  • Firebase क्या है?

  • जिन लोगों ने Firebase के बारे में सुना है वे अपना हाथ उठाएं.

  • ओह, मुझे बहुत सारे दिख रहे हैं.

  • बहुत बढ़िया.

  • Firebase, Google का ऐप्लिकेशन डेवलपमेंट प्लैटफ़ॉर्म है.

  • Firebase आपको एक ऐसा प्लैटफ़ॉर्म उपलब्ध कराता है जिसमें 20 से ज़्यादा प्रॉडक्ट इंटिग्रेट किए गए हैं. इससे आपको अलग-अलग सॉफ़्टवेयर इस्तेमाल करने की ज़रूरत नहीं पड़ती.

  • चलिए, मोबाइल ऐप्लिकेशन में जेन एआई की सुविधा उपलब्ध कराने में आने वाली चुनौतियों के बारे में बात करते हैं.

  • हमने तीन मुख्य चुनौतियों की पहचान की है.

  • पहला, एपीआई पासकोड लीक होना: इन्हें निकालने में कुछ ही मिनट लगते हैं.

  • दूसरा, मॉडल के नाम अपडेट करना: हम हमेशा डेवलपर को सुझाव देते हैं कि वे अपने ऐप्लिकेशन में उन्हें हार्ड-कोड न करें. ऐसा न करने पर, हर बार नया मॉडल आने पर, आपको एक और रिलीज़ पुश करनी होगी.

  • तीसरा है फ़ाइल की निजता: किसी भी डेवलपर या ऐप्लिकेशन के उपयोगकर्ता के लिए, यह बहुत ज़रूरी है कि उसका डेटा सुरक्षित रहे. साथ ही, ऐप्लिकेशन के लिए सही सुरक्षा उपाय मौजूद हों.

  • हमने जिन चुनौतियों के बारे में बात की है उन्हें हल करने के लिए, Firebase AI Logic को मुख्य समाधान के तौर पर पेश किया गया है.

  • Firebase AI Logic से आपको क्या फ़ायदा मिलता है?

  • हम सभी जटिल कस्टम बैक-एंड का ध्यान रखते हैं, ताकि आपको इसे अपने एंड पर डेवलप न करना पड़े.

  • दूसरा, हमारे क्लाइंट एसडीके का इस्तेमाल करके, अपने मोबाइल ऐप्लिकेशन से Gemini API को सीधे और सुरक्षित तरीके से कॉल किया जा सकता है.

  • चलिए, इसके आर्किटेक्चर के बारे में जानते हैं और समझते हैं कि यह कैसे काम करता है.

  • बाईं ओर, हमारे पास Firebase क्लाइंट SDK टूल हैं.

  • फ़िलहाल, हम कई तरह के क्लाइंट एसडीके के लिए सहायता उपलब्ध कराते हैं.

  • मैं Kotlin के बारे में भी बताना चाहता हूं, जो हमारे प्लैटफ़ॉर्म पर काम करता है.

  • जब कोई डेवलपर एआई की मदद से कोई कार्रवाई करना चाहता है, तो SDK टूल, अनुरोध को Firebase AI Logic को भेजता है. इसके बाद, Firebase AI Logic उस अनुरोध को Gemini Developer API या Agent Platform Gemini API पर सुरक्षित तरीके से भेजता है.

  • इसलिए, हम उस कस्टम बैक-एंड को मैनेज कर रहे हैं जिसे आज आपने बनाया है.

  • इससे हमें यह फ़ायदा मिल रहा है कि हम बिना किसी शुल्क के, मार्केटिंग के लिए समय (टीटीएम) को कम कर पा रहे हैं.

FriendlyMeals ऐप्लिकेशन का डेमो

  • अब बारी है सबसे मज़ेदार काम की.

  • यह FriendlyMeals ऐप्लिकेशन का डेमो है.

  • इस सेशन में बाकी डेमो के लिए, हम इसी ऐप्लिकेशन का इस्तेमाल करेंगे. इसलिए, इसे डाउनलोड करें.

  • यहां दिए गए क्यूआर कोड का इस्तेमाल करके, इसे स्कैन किया जा सकता है.

  • आइए, डेमो देखते हैं.

  • FriendlyMeals ऐप्लिकेशन, आपके डाले गए इंग्रीडिएंट के आधार पर रेसिपी ढूंढने में मदद करता है.

  • इस वर्कफ़्लो में, आपको इन सुविधाओं को कैप्चर करने के दो तरीके दिखते हैं.

  • पहला, आपके पास जो सामग्री है उसे डालें.

  • दूसरा, सामग्री की फ़ोटो लें.

  • मैं पहले वर्कफ़्लो का इस्तेमाल करूंगी. इसमें सामग्री की जानकारी डाली जाती है.

  • मुझे अपने फ़्रिज में बस यही मिला.

  • जब तक यह रेसिपी जनरेट कर रहा है, तब तक मैं आपको कुछ बातें बताना चाहता हूं.

  • इसलिए, हम यहां Gemini मॉडल को कॉल कर रहे हैं.

  • इस खास इस्तेमाल के लिए, हम Gemini 3.8 Flash के तीन मॉडल कॉल कर रहे हैं.

  • अगर आपको सबसे ऊपर इमेज दिख रही है, तो इसका मतलब है कि Gemini Nano Banana मॉडल का इस्तेमाल किया जा रहा है. यह 2.1 Nano Banana है, जो कि नया वर्शन है.

  • कोड के बारे में जानने से पहले, हम आपको Firebase AI Logic की खास बातों के बारे में बताना चाहते हैं.

  • पहला है, सर्वरलेस एसडीके.

  • आपको एआई की कोई सुविधा जोड़नी है, लेकिन आपको बैक-एंड सेट अप नहीं करना है.

  • यहीं पर हमारे क्लाइंट-साइड एसडीके काम आते हैं.

  • Android ऐप्लिकेशन से Gemini को सीधे कॉल किया जा सकता है.

  • दूसरा, सुरक्षा से जुड़ी बेहतरीन सुविधाएं पहले से मौजूद होती हैं.

  • इसलिए, Gemini को किए जाने वाले कॉल के लिए, Firebase App Check के साथ-साथ सर्वर प्रॉम्प्ट टेंप्लेट वगैरह का इस्तेमाल किया जा सकता है. हम सुरक्षा से जुड़ी इन सुविधाओं के बारे में थोड़ी देर बाद बात करेंगे.

  • तीसरा, मल्टीमोडल इनपुट और स्ट्रीमिंग जैसी ऐडवांस सुविधाओं के लिए सहायता.

  • मान लें कि आपको एक ऐसा ऐप्लिकेशन बनाना है जिसमें एआई की एक आसान सुविधा जोड़ी गई हो. इस सुविधा का इस्तेमाल करके, जादुई बैकपैक के बारे में कहानी जनरेट की जा सके.

    import com.google.firebase.Firebase
    import com.google.firebase.ai.ai
    
    @Composable
    fun MagicBackpackGenerator() {
        var output by remember { mutableStateOf("") }
    
        LaunchedEffect(Unit) {
    
           val model=Firebase.ai.generativeModel("gemini-4-argon")
    
            val response = model.generateContent("Write a story about a magic backpack")
    
            output = response.text.toString()
    
        }
        MagicBackpackUI(output)
    }
  • एआई की इस सुविधा को जोड़ने और इसे प्रोडक्शन के लिए तैयार करने के लिए, ये तीन आसान चरण पूरे करने होंगे.

  • Firebase AI Logic की मदद से, अपने ऐप्लिकेशन में एआई की सुविधाएं जोड़ना बहुत आसान हो गया है. इसलिए, आपको सबसे पहले यह सोचना चाहिए कि इस सुविधा को सुरक्षित कैसे रखा जाए?

सुरक्षा और प्रॉम्प्ट मैनेजमेंट

  • चलिए, सुरक्षा से जुड़ी जानकारी पर नज़र डालते हैं. इसकी शुरुआत Firebase App Check से करते हैं.

  • Firebase App Check की मदद से, अपने डेटा को सुरक्षित रखा जा सकता है. साथ ही, अपने उपयोगकर्ताओं की सुरक्षा की जा सकती है. इसके अलावा, यह कंट्रोल किया जा सकता है कि आपके एपीआई के संसाधनों को कौन ऐक्सेस कर सकता है. इसके लिए, यह पुष्टि की जाती है कि अनुरोध आपके ऐप्लिकेशन से आ रहे हैं.

  • यह सुरक्षा की एक अतिरिक्त लेयर है, जो आपके ऐप्लिकेशन का गलत इस्तेमाल होने से रोकने में मदद करती है.

  • कोड में बदलाव करने से पहले, आपको Firebase कंसोल में कुछ चरण पूरे करने होंगे.

  • इसलिए, Firebase कंसोल में App Check में जाकर, अपने Android ऐप्लिकेशन को रजिस्टर करें और पुष्टि करने वाली सेवा देने वाली कंपनियों को जोड़ें.

  • जैसे, Play Integrity या reCAPTCHA Enterprise.

  • ध्यान दें कि App Check को सेट अप करने के बाद, आपको इसे unenforced मोड में शुरू करना होगा.

  • इससे आपके ऐप्लिकेशन को टेलीमेट्री उपलब्ध कराने की अनुमति मिलती है. इससे यह पक्का किया जा सकता है कि नीति उल्लंघन ठीक करने का तरीका लागू करने से पहले, आपके सभी ऐप्लिकेशन को आपके बैकएंड पर एपीआई कॉल मिल रहे हैं और वे सफल हो रहे हैं.

  • जब आपको लगे कि टेलीमेट्री सही तरीके से काम कर रही है, तो App Check को लागू किया जा सकता है. इसके बाद, ऐसे किसी भी अनुरोध को अस्वीकार कर दिया जाएगा जिसमें मान्य और हार्डवेयर से प्रमाणित टोकन नहीं होगा.

  • App Check को लागू करने का कोड कुछ ऐसा दिखता है.

    class FireTravelApp : Application() {
       lateinit var appContainer: AppContainer
           private set
       override fun onCreate() {
           super.onCreate()
           if (BuildConfig.DEBUG) {
               Firebase.appCheck.installAppCheckProviderFactory(
                   DebugAppCheckProviderFactory.getInstance()
               )
           } else {
               Firebase.appCheck.installAppCheckProviderFactory(
                   PlayIntegrityAppCheckProviderFactory.getInstance()
               )
           }
           appContainer = AppContainer(this)
       }
    }
  • अपनी ऐप्लिकेशन क्लास में, App Check की सेवा देने वाली कंपनी को इंस्टॉल करें.

  • डेवलपमेंट के चरणों में, आपको डीबग प्रोवाइडर का इस्तेमाल करना होगा. इसके बाद, जब आप प्रोडक्शन के लिए तैयार हो जाएं, तो Play Integrity या reCAPTCHA Enterprise पर स्विच करें.

  • हालांकि, हमेशा याद रखें कि Firebase के किसी भी अन्य कॉल से पहले, आपको App Check को कॉन्फ़िगर करना होगा.

  • एआई की सुविधाएं बनाते समय, डेवलपर अक्सर अपने ऐप्लिकेशन के कोड में सीधे तौर पर प्रॉम्प्ट को हार्ड-कोड कर देते हैं. हालांकि, इससे दो बड़ी समस्याएं पैदा होती हैं.

  • पहला, अगर प्रॉम्प्ट में कोई सुधार करना है, तो आपको पूरा अपडेट पुश करना होगा.

  • दूसरा, आपके ऐप्लिकेशन को अनपैक करने वाले किसी भी व्यक्ति के पास, आपकी मालिकाना हक वाली प्रॉम्प्ट इंजीनियरिंग का ऐक्सेस होता है.

  • इस समस्या को हल करने के लिए, Firebase AI Logic, सर्वर प्रॉम्प्ट टेंप्लेट का इस्तेमाल करता है.

  • यह आपके प्रॉम्प्ट को डिवाइस पर सेव करने के बजाय, क्लाउड में सेव करता है.

  • यह सर्वर प्रॉम्प्ट टेंप्लेट का व्यू है. यह Firebase कंसोल में इस तरह दिखता है.

  • टेंप्लेट .prompt फ़ॉर्मैट में बनाए जाते हैं.

    ---
    model: 'gemini-3-flash'
    input:
      schema:...
    tools:...
    ---
    {{role "system"}}
    You're a storyteller that tells nice and joyful stories with happy endings.
    
    {{role "user"}}
    Create a story about {{topic}} with the length of {{length}} words in the {{language}} language.
  • मॉडल का नाम यहीं सेट किया जा सकता है.

  • इसे कभी भी अपडेट किया जा सकता है.

  • आपको ऐप्लिकेशन का पूरा अपडेट पुश करने की ज़रूरत नहीं है.

  • सिस्टम के निर्देशों को भी अपडेट किया जा सकता है. साथ ही, इनपुट और आउटपुट के लिए सख्त JSON स्कीमा का इस्तेमाल किया जा सकता है.

  • इसके लिए, ऐप्लिकेशन का नया वर्शन रिलीज़ करने की ज़रूरत नहीं है.

  • यह क्लाउड पर मौजूद होता है. इसलिए, किसी प्रॉम्प्ट को तुरंत ट्यून किया जा सकता है या मॉडल को बदला जा सकता है.

  • Kotlin में कोड कुछ ऐसा दिखता है.

    val generativeModel = Firebase.ai.templateGenerativeModel()
    
    val response = generativeModel.generateContent("storyteller-v1",
        mapOf(
            "topic" to topic,
            "length" to length,
            "language" to language
        )
    )
    
    output.value = response.text
  • यहां यह बताना ज़रूरी है कि सर्वर प्रॉम्प्ट टेंप्लेट, सार्वजनिक तौर पर झलक देखने के लिए उपलब्ध हैं.

  • आपके पास सिर्फ़ पुष्टि करने वाला मोड लागू करने का विकल्प भी है.

  • यह अनुरोध को अनुमति देने के लिए, Firebase Auth के उपयोगकर्ता टोकन का इस्तेमाल करता है.

  • सुरक्षा से जुड़ी सुविधाओं को बेहतर बनाने और अपने ऐप्लिकेशन को पूरी तरह से लॉक करने के लिए, सीधे Firebase कंसोल से टेंप्लेट-ओनली मोड का भी इस्तेमाल किया जा सकता है.

एआई मॉनिटरिंग और टेलिमेट्री डैशबोर्ड

  • ऐप्लिकेशन लाइव होने के बाद, आपको यह देखना होगा कि वह कैसा परफ़ॉर्म कर रहा है.

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

  • Firebase, मेट्रिक, इंतज़ार के समय, और टोकन की संख्या को अपने-आप कैप्चर करेगा. इसके लिए, आपको कस्टम Analytics कोड लिखने की ज़रूरत नहीं है.

  • हमने अभी जिन दो मोड के बारे में बात की है वे दोनों एक ही विंडो में उपलब्ध हैं.

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

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

  • ट्रेस व्यूअर की मदद से, कुछ ट्रेस की जांच भी की जा सकती है.

  • इसलिए, इस मामले में, जैसा कि यह अलग-अलग मॉडल दिखा रहा है-- हम जिस मॉडल का इस्तेमाल कर रहे हैं उसमें इंतज़ार का समय और सक्सेस रेट देखा जा सकता है.

Gemini Nano के साथ हाइब्रिड इन्फ़्रेंस

  • Firebase कंसोल में, जहां आपको टेलीमेट्री से जुड़ा सारा डेटा और एआई की सुविधा के काम करने के तरीके की जानकारी मिल सकती है.

  • इसलिए, ऐसे मामलों में, मान लें कि आपको टोकन के इस्तेमाल में अचानक बढ़ोतरी दिखती है या इंतज़ार के समय में अचानक बढ़ोतरी दिखती है, तो हाइब्रिड मॉडल का इस्तेमाल करके, उन लागतों को कम किया जा सकता है या इंतज़ार के समय को कम किया जा सकता है.

  • जनरेटिव एआई की सुविधाएं हमारे ऐप्लिकेशन का अहम हिस्सा बन गई हैं. इसलिए, सिर्फ़ क्लाउड पर पूरी तरह से निर्भर रहना शायद सही नहीं है.

  • Android पर Nano 4 और ऑन-डिवाइस मॉडल का इस्तेमाल करने से, तीन मुख्य फ़ायदे मिलते हैं. इनके बारे में आपको शायद पहले से पता हो.

  • पहला है ऑफ़लाइन मोड.

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

  • लागत.

  • डिवाइस पर अनुमान लगाने की सुविधा काम करती है. इसलिए, इन सुविधाओं को जोड़ा जा सकता है. साथ ही, आपको एआई की सुविधा के लिए बढ़ती लागत की चिंता करने की ज़रूरत नहीं है.

  • तीसरा है डेटा की निजता.

  • इसलिए, अगर यह संवेदनशील डेटा है, तो अपने उपयोगकर्ताओं को यह गारंटी दी जा सकती है कि कोई भी अनुमान आपके डिवाइस से बाहर नहीं जा रहा है.

  • इसलिए, Firebase AI Logic का इस्तेमाल करके, अनुमान वाले ये मोड सेट किए जा सकते हैं. साथ ही, रूटिंग की साफ़ रणनीतियां बनाई जा सकती हैं. जैसे, PREFER_ON_DEVICE, PREFER_IN_CLOUD या ONLY_ON_DEVICE.

  • ONLY_ON_DEVICE को चुनने पर, SDK टूल सीधे तौर पर डिवाइस पर मौजूद मॉडल का इस्तेमाल करता है. इससे क्लाउड का इस्तेमाल नहीं होता.

  • चलिए, फ़ोन पर स्विच करते हैं.

  • इसलिए, हम फिर से FriendlyMeals पर जाएंगे और उपयोगकर्ता के डिवाइस पर मौजूद कुछ सुविधाओं को देखेंगे.

  • इसलिए, सबसे पहले हम फ़्रिज में मौजूद कुछ चीज़ों के आधार पर रेसिपी बनाने की कोशिश करेंगे.

  • आपने पहले देखा कि अंकिता ने मैन्युअल तरीका इस्तेमाल किया. उन्होंने सामग्री टाइप की और फिर रेसिपी जनरेट की.

  • इसलिए, चलिए कोई दूसरा तरीक़ा आज़माएं.

  • इसलिए, चलिए इस असली रेफ़्रिजरेटर को देखते हैं. इसे जनरेट नहीं किया गया है.

  • इस रेफ़्रिजरेटर में बहुत सारे ऑलिव हैं. इसलिए, देखते हैं कि हमें यहां किस तरह की रेसिपी जनरेट होती है.

  • इसलिए, मैं यहां कुछ चीज़ों के बारे में बताना चाहता हूं.

  • पहली वजह यह हो सकती है कि इमेज को डिवाइस से कभी हटाया ही न गया हो.

  • Nano by Gemma ने डिवाइस पर ही इमेज का विश्लेषण किया…

  • Nano 4.

  • इसके अलावा, दूसरी चीज़ यह है कि जवाब कितनी तेज़ी से मिला.

  • इसलिए, कॉन्टेंट जनरेट किया गया.

  • इसलिए, आपको दो फ़ायदे मिलते हैं.

  • डेटा डिवाइस से बाहर नहीं जाता. साथ ही, इंतज़ार का समय भी काफ़ी कम हो जाता है.

  • ठीक है, तो चलिए देखते हैं कि ऑलिव से भरे फ़्रिज से हमें कौनसी रेसिपी मिलती है.

  • इसलिए, इस बार हम क्लाउड का इस्तेमाल कर रहे हैं.

  • इसलिए, हम फ़्रिज में मौजूद चीज़ों की पहचान करके, उन्हें क्लाउड पर भेज रहे हैं. इसके लिए, हम Firebase AI Logic का इस्तेमाल कर रहे हैं, ताकि रेसिपी जनरेट की जा सके.

  • मुझे फ़्रिज में सैल्मन नहीं दिखा, लेकिन रेसिपी में सैल्मन दिख रहा है.

  • चलिए, स्लाइड पर वापस चलते हैं.

  • जैसा कि हमने डेमो में देखा, लोकल मॉडल और क्लाउड मॉडल के बीच स्विच करना काफ़ी आसान है.

  • फ़िलहाल, Firebase AI Logic नेटवर्क की उपलब्धता के आधार पर, बेसिक रूटिंग का इस्तेमाल करके अनुमान लगाने की सुविधा देता है.

  • इस अनुमान को मैनेज करने के लिए, इसे गार्डरेल की तरह समझा जा सकता है.

  • इसलिए, इस आर्किटेक्चर में मल्टीमोडल, इनपुट और आउटपुट स्कीमा जैसी सुविधाओं के लिए पहले से मौजूद सपोर्ट शामिल है. साथ ही, Gemma, माफ़ करें, Gemini Nano 4 के साथ पूरा इंटिग्रेशन शामिल है.

  • आइए, देखते हैं कि इन सुरक्षा उपायों को असल में कैसे लागू किया जाता है.

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

  • कोड के हिसाब से, यह सिर्फ़ एक अतिरिक्त पैरामीटर है.

  • अपनी पसंद का मोड सेट करने के लिए, onDeviceConfig को पैरामीटर के तौर पर पास करें.

    import com.google.firebase.Firebase
    import com.google.firebase.ai.ai
    
    @Composable
    fun MagicBackpackGenerator() {
        var output by remember { mutableStateOf("") }
    
        LaunchedEffect(Unit) {
    
            val model = Firebase.ai.generativeModel(modelName = "gemini-3.8-flash",
    onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE))
    
           val response = model.generateContent("Write a story about a magic backpack")
    
            output = response.text.toString()
    
        }
        MagicBackpackUI(output)
    }
  • इस मामले में, एसडीके पहले लोकल मॉडल को आज़माएगा. अगर वह उपलब्ध नहीं है, तो वह अपने-आप क्लाउड पर वापस चला जाएगा.

लागत ऑप्टिमाइज़ेशन और एआई लॉजिक ट्रिगर

  • अब हमने सुरक्षित ऐप्लिकेशन बनाने और उपयोगकर्ता के डिवाइस पर मौजूद मॉडल का फ़ायदा लेने के बारे में जान लिया है. चलिए, अब लागत को ऑप्टिमाइज़ करने के बारे में बात करते हैं.

  • जनरेटिव सुविधाओं का इस्तेमाल तेज़ी से बढ़ सकता है. इससे आपका क्लाउड बिलिंग भी बढ़ सकता है.

  • इसलिए, हमें सही सुरक्षा उपाय करने होंगे, ताकि यह पक्का किया जा सके कि हमारे पास सही इंफ़्रास्ट्रक्चर कंट्रोल और ऑटोमेटेड सुविधाएं हों. इनसे आपके बजट का अनुमान लगाया जा सकता है और आपके ऐप्लिकेशन को वित्तीय तौर पर बेहतर बनाया जा सकता है.

  • आर्थर ने अभी बताया कि ऑन-डिवाइस इन्फ़्रेंस की सुविधा पूरी तरह से मुफ़्त है. हालांकि, कुछ मामलों में अब भी मुश्किल रीज़निंग टास्क की ज़रूरत होगी. साथ ही, फ़ॉलबैक की ज़रूरत होगी और इसके लिए क्लाउड पर रूटिंग की ज़रूरत होगी.

  • जब क्लाउड कॉल होते हैं, तो आपको अपने बजट का अनुमान लगाने के लिए गार्डरेल की ज़रूरत होती है.

  • यही वजह है कि Firebase में खर्च की सीमाएं तय करने की सुविधा उपलब्ध है.

  • खर्च की सीमाएं सेट करके, अपने ऐप्लिकेशन के लिए लागत को ज़्यादा बेहतर तरीके से कंट्रोल किया जा सकता है.

  • इसलिए, पूरे प्रोजेक्ट के लिए एक सामान्य बजट सेटिंग और बजट की सूचनाएं पाने के लिए ईमेल भेजने के बजाय, Firebase AI Logic जैसी अलग-अलग सेवाओं के लिए बजट की एक खास सीमा सेट की जा सकती है.

  • जब आपका खर्च 100% तक पहुंच जाता है, तो Firebase एआई सेवा को अपने-आप रोक देता है, ताकि आपको ज़्यादा बिल न देना पड़े.

  • खर्च की सीमा तय करने के अलावा, लागत को ऑप्टिमाइज़ करने की कई बेहतर रणनीतियां भी हैं.

  • आज हम Firebase AI Logic ट्रिगर के बारे में बात करेंगे.

  • अगर आपको बीच में कस्टम लॉजिक की ज़रूरत पड़े, तो क्या होगा?

  • यह Firebase AI Logic के ट्रिगर हैं.

  • कॉन्टेंट जनरेट करने से पहले या बाद में, कोई फ़ंक्शन चलाया जा सकता है.

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

Gemini Live API और मॉडल की सुविधाएं

  • अब तक हमने लागत को ऑप्टिमाइज़ करने और सुरक्षा के बारे में जान लिया है. चलिए, अब मॉडल की क्षमता के बारे में जानते हैं और देखते हैं कि Firebase AI Logic में क्या-क्या सुविधाएं मिलती हैं.

  • इन मल्टीमॉडल अनुभवों को बेहतर बनाने के लिए, Firebase AI Logic में प्रोडक्शन के लिए तैयार मॉडल और टूल का एक बड़ा कैटलॉग उपलब्ध है.

  • तेज़ी से तर्क करने, टेक्स्ट और कोड जनरेट करने, और मीडिया बनाने के लिए, Gemini 4 Argon, Gemini 3.1 Pro, Gemini 3.8 Flash वगैरह का इस्तेमाल किया जा सकता है.

  • Search और Maps Grounding का इस्तेमाल करके, इन मॉडल को असल दुनिया के डेटा से भी कनेक्ट किया जा सकता है.

  • आखिर में, आवाज़ के लिए हम नैचुरल टेक्स्ट-टू-स्पीच और Gemini Live ऑडियो जनरेशन की सुविधा देते हैं.

  • चलिए, एक बार फिर से फ़ोन पर स्विच करते हैं.

  • तो, यहां हमारे पास मीठा और नमकीन है.

  • ओह, माफ़ करें, वह नहीं.

  • यहां हमारे पास रेसिपी के लिए, क्विक चीज़ी केचप टोस्ट है.

  • सुनकर मुँह में पानी आ रहा है।

  • सबसे पहले, हम Live API के बारे में बात करेंगे.

  • इसलिए, इस मामले में हम वापस आने वाले वीडियो का इस्तेमाल कर पाएंगे. साथ ही, मैं यह कह सकता हूँ, "Gemini, क्या मुझे बता सकते हो कि टेबल पर कौन-कौनसी सामग्री रखी है?"

  • आपके लैपटॉप की स्क्रीन पर मौजूद इमेज के आधार पर, आपके पास ब्रेड, चेडर चीज़, और केचप है.

  • ठीक है।

  • तो क्या मैं रेसिपी का पहला चरण शुरू करूँ?

  • हां.

  • सबसे पहले, अपने टोस्टर ओवन या ब्रायलर को मीडियम-हाई हीट पर प्रीहीट करें.

  • धन्यवाद.

  • ठीक है।

  • इसलिए, उस मामले में, Live API का इस्तेमाल किया गया था और वह बातचीत तब तक जारी रहती, जब तक मैं उसे बंद नहीं कर देता.

  • मैं आपको एक और सुविधा दिखाना चाहता हूँ. यह है, बोली को लिखाई में बदलने की सुविधा. माफ़ करें, यह लिखे गए शब्दों को सुनने की सुविधा है.

  • इस उदाहरण में, लिखे गए शब्दों को सुनने की सुविधा का इस्तेमाल करके, रेसिपी के निर्देश सुने जा सकते हैं.

  • इसलिए, इसे पढ़ने के बजाय, "जनरेट करें" या "बोलें" पर टैप किया जा सकता है. इससे निर्देशों का टेक्स्ट, लिखाई को बोली में बदलने वाले मॉडल को भेज दिया जाएगा.

  • यह ऑडियो जनरेट करेगा और उसे डिवाइस पर वापस भेजेगा.

  • मैं इसे चला सकता हूँ, बाद के लिए कैश कर सकता हूँ, और यह वैसे ही चलेगा जैसा हम यहाँ देख रहे हैं.

  • 1.

  • टोस्टर अवन या ब्रायलर को मध्यम से तेज़ आंच पर पहले से गर्म करें.

  • 2.

  • ब्रेड के दो स्लाइस को बेकिंग शीट या टोस्टर ट्रे पर रखें.

  • बढ़िया।

  • है न कमाल की बात?

  • Firebase AI Logic की मदद से, कोड की कुछ ही लाइनों का इस्तेमाल करके, इस तरह की शानदार सुविधाएं लागू की जा सकती हैं.

  • चलिए, स्लाइड पर वापस चलते हैं.

  • हमने डेमो में देखा कि Gemini Live API कैसे काम करता है. अगर आपको बोलकर बातचीत करने की सुविधा खुद बनानी हो, तो क्या करना होगा?

  • यहीं पर Gemini Live API काम आता है. इसकी मदद से, दोनों तरफ़ से होने वाली वॉइस बातचीत की सुविधा बनाई जा सकती है.

  • आपका Android ऐप्लिकेशन, लाइव माइक्रोफ़ोन ऑडियो और कैमरा फ़्रेम को अपस्ट्रीम कर सकता है. साथ ही, रीयल टाइम में नैचुरल, कम इंतज़ार के समय वाली, और बोलकर दी गई आवाज़ वापस पा सकता है.

  • Kotlin में, इसे सेट अप करना काफ़ी आसान है.

    val model = Firebase.ai.liveModel(
        modelName = "gemini-3.1-flash-live-preview",
        generationConfig = liveGenerationConfig {
            responseModality = ResponseModality.AUDIO
       },
       systemInstruction = "Your main job is to change the color...",
       tools = listOf(Tool.functionDeclarations(listOf(changeColorFunction)))
    )
    
    val session = model.connect(::handler)
    
    session.startAudioConversation(::handler)
    
    session.stopAudioConversation()
  • ऑडियो रिस्पॉन्स के लिए कॉन्फ़िगर किए गए लाइव मॉडल को इंस्टैंशिएट करें. इसके बाद, स्ट्रीम हैंडलर की मदद से सेशन से कनेक्ट करें.

  • हम यहां सबसे पहले यह बताना चाहेंगे कि एसडीके, WebSocket और स्ट्रीमिंग प्रोटोकॉल को पूरी तरह से मैनेज करता है.

  • इसलिए, आपको इसके लिए कोड लिखने की ज़रूरत नहीं है, है न?

  • लाइनें लिखना जारी रखें.

Firebase एजेंट स्किल और खास बातें

  • डेमो खत्म करने और ऐप्लिकेशन डेवलपमेंट के भविष्य की ओर बढ़ने के साथ-साथ, हम आपके वर्कफ़्लो के लिए एक बेहतरीन टूल के बारे में बताना चाहते हैं. यह टूल है, Firebase एजेंट स्किल.

    # Execute to add agent capabilities to your workspace
    npx skills add firebase/agent-skills
  • इसके अलावा, Antigravity और Android Studio का इस्तेमाल करने वाले लोगों के लिए, हमने Firebase AI Logic को पहले ही सीधे तौर पर ऑनबोर्डिंग फ़्लो में इंटिग्रेट कर दिया है.

  • इस सेशन से आपको तीन अहम बातें सीखने को मिलीं: एजेंट बनाना शुरू करें, प्रोडक्शन टूल का इस्तेमाल शुरुआत से ही करें, जैसे कि सुरक्षा से जुड़े टूल जिनके बारे में हमने आज बात की. तीसरी बात, जहां भी हो सके एजेंट की स्किल का इस्तेमाल करें.

  • धन्यवाद.

कोड

कोड स्निपेट

"FriendlyMeals ऐप्लिकेशन के डेमो" में 05:14 पर Kotlin स्निपेट
import com.google.firebase.Firebase
import com.google.firebase.ai.ai

@Composable
fun MagicBackpackGenerator() {
    var output by remember { mutableStateOf("") }

    LaunchedEffect(Unit) {

       val model=Firebase.ai.generativeModel("gemini-4-argon")

        val response = model.generateContent("Write a story about a magic backpack")

        output = response.text.toString()

    }
    MagicBackpackUI(output)
}
"सुरक्षा और प्रॉम्प्ट मैनेजमेंट" में 07:07 पर Kotlin स्निपेट
class FireTravelApp : Application() {
   lateinit var appContainer: AppContainer
       private set
   override fun onCreate() {
       super.onCreate()
       if (BuildConfig.DEBUG) {
           Firebase.appCheck.installAppCheckProviderFactory(
               DebugAppCheckProviderFactory.getInstance()
           )
       } else {
           Firebase.appCheck.installAppCheckProviderFactory(
               PlayIntegrityAppCheckProviderFactory.getInstance()
           )
       }
       appContainer = AppContainer(this)
   }
}
"सुरक्षा और प्रॉम्प्ट मैनेजमेंट" में 08:18 पर वाईएएमएल स्निपेट
---
model: 'gemini-3-flash'
input:
  schema:...
tools:...
---
{{role "system"}}
You're a storyteller that tells nice and joyful stories with happy endings.

{{role "user"}}
Create a story about {{topic}} with the length of {{length}} words in the {{language}} language.
"सुरक्षा और प्रॉम्प्ट मैनेजमेंट" में 08:54 पर Kotlin स्निपेट
val generativeModel = Firebase.ai.templateGenerativeModel()

val response = generativeModel.generateContent("storyteller-v1",
    mapOf(
        "topic" to topic,
        "length" to length,
        "language" to language
    )
)

output.value = response.text
"Gemini Nano के साथ हाइब्रिड इन्फ़्रेंस" में 15:09 पर Kotlin स्निपेट
import com.google.firebase.Firebase
import com.google.firebase.ai.ai

@Composable
fun MagicBackpackGenerator() {
    var output by remember { mutableStateOf("") }

    LaunchedEffect(Unit) {

        val model = Firebase.ai.generativeModel(modelName = "gemini-3.8-flash",
onDeviceConfig = OnDeviceConfig(mode = InferenceMode.PREFER_ON_DEVICE))

       val response = model.generateContent("Write a story about a magic backpack")

        output = response.text.toString()

    }
    MagicBackpackUI(output)
}
"Gemini Live API और मॉडल की क्षमताएं" में 21:02 पर Kotlin स्निपेट
val model = Firebase.ai.liveModel(
    modelName = "gemini-3.1-flash-live-preview",
    generationConfig = liveGenerationConfig {
        responseModality = ResponseModality.AUDIO
   },
   systemInstruction = "Your main job is to change the color...",
   tools = listOf(Tool.functionDeclarations(listOf(changeColorFunction)))
)

val session = model.connect(::handler)

session.startAudioConversation(::handler)

session.stopAudioConversation()
"Firebase एजेंट स्किल और मुख्य बातें" में 21:30 पर शेल स्निपेट
# Execute to add agent capabilities to your workspace
npx skills add firebase/agent-skills