Firebase के एआई लॉजिक की मदद से, हाइब्रिड एआई प्रॉम्प्ट

पब्लिश करने की तारीख: 20 मई, 2025

आपके पास Firebase AI Logic की मदद से, क्लाउड पर फ़ॉलबैक सेट अप करने का विकल्प होता है. इससे, आपके उपयोगकर्ताओं को उनकी ज़रूरत के हिसाब से जवाब मिल पाएंगे. भले ही, वे कोई भी प्लैटफ़ॉर्म या हार्डवेयर इस्तेमाल कर रहे हों. ऐसा, बिल्ट-इन Prompt API के लिए किया जा सकता है.

हाइब्रिड एआई अनुभव बनाना

इनमें एआई की सुविधाएं पहले से मौजूद होती हैं. इनसे कई फ़ायदे मिलते हैं. इनमें से कुछ फ़ायदे यहां दिए गए हैं:

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

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

Firebase का इस्तेमाल शुरू करना

  1. Firebase प्रोजेक्ट बनाएं और अपने वेब ऐप्लिकेशन को रजिस्टर करें.
  2. वेब ऐप्लिकेशन सेटअप करने के लिए, Firebase JavaScript SDK टूल का दस्तावेज़ पढ़ें.

Firebase प्रोजेक्ट, Google Cloud प्रोजेक्ट बनाते हैं. इनमें Firebase से जुड़े कॉन्फ़िगरेशन और सेवाएं होती हैं. Google Cloud और Firebase के बारे में ज़्यादा जानें.

एसडीके टूल इंस्टॉल करना

इस वर्कफ़्लो में npm का इस्तेमाल किया जाता है. इसके लिए, मॉड्यूल बंडलर या JavaScript फ़्रेमवर्क टूलिंग की ज़रूरत होती है. Firebase AI Logic को मॉड्यूल बंडलर के साथ काम करने के लिए ऑप्टिमाइज़ किया गया है. इससे इस्तेमाल न होने वाले कोड को हटाया जा सकता है और एसडीके का साइज़ कम किया जा सकता है.

npm install firebase

इंस्टॉल करने के बाद, अपने ऐप्लिकेशन में Firebase को शुरू करें.

Firebase AI Logic का इस्तेमाल करना

Firebase को इंस्टॉल और शुरू करने के बाद, Gemini Developer API या Gemini API में से किसी एक को चुनें. इसके बाद, शुरू करें और एक इंस्टेंस बनाएं.

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

टेक्स्ट प्रॉम्प्ट

मॉडल को निर्देश देने के लिए, सामान्य टेक्स्ट का इस्तेमाल किया जा सकता है. उदाहरण के लिए, मॉडल से कोई चुटकुला सुनाने के लिए कहा जा सकता है.

अनुरोध को रूट करने के लिए, आपके पास कुछ विकल्प हैं:

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

  • ऑनलाइन होने पर, क्लाउड मॉडल का डिफ़ॉल्ट रूप से इस्तेमाल करें. इसके लिए, getGenerativeModel() फ़ंक्शन में mode को 'prefer_in_cloud' पर सेट करें. अगर आप ऑफ़लाइन हैं, तो अनुरोध को आसानी से बिल्ट-इन एआई पर स्विच कर दिया जाएगा.

// Initialize the Google AI service.
const googleAI = getAI(firebaseApp);

// Create a `GenerativeModel` instance with a model that supports your use case.
const model = getGenerativeModel(googleAI, { mode: 'prefer_on_device' });

const prompt = 'Tell me a joke';

const result = await model.generateContentStream(prompt);

for await (const chunk of result.stream) {
  const chunkText = chunk.text();
  console.log(chunkText);
}
console.log('Complete response', await result.response);

टेक्स्ट, इमेज वगैरह को प्रोसेस करने वाले मॉडल में प्रॉम्प्ट सबमिट करने की सुविधा

टेक्स्ट के अलावा, इमेज या ऑडियो का इस्तेमाल करके भी प्रॉम्प्ट दिया जा सकता है. मॉडल को किसी इमेज में मौजूद कॉन्टेंट के बारे में बताने या किसी ऑडियो फ़ाइल को ट्रांसक्राइब करने के लिए कहा जा सकता है.

इमेज को Base64 एन्कोड की गई स्ट्रिंग के तौर पर, Firebase FileDataPart ऑब्जेक्ट के तौर पर पास करना होगा. इसके लिए, fileToGenerativePart() हेल्पर फ़ंक्शन का इस्तेमाल किया जा सकता है.

// Converts a File object to a `FileDataPart` object.
// https://firebase.google.com/docs/reference/js/vertexai.filedatapart
async function fileToGenerativePart(file) {
    const base64EncodedDataPromise = new Promise((resolve) => {
      const reader = new FileReader();
      reader.onload = () => resolve(reader.result.split(',')[1]);
      reader.readAsDataURL(file);
    });

    return {
      inlineData: { data: await base64EncodedDataPromise, mimeType: file.type },
    };
  }

  const fileInputEl = document.querySelector('input[type=file]');

  fileInputEl.addEventListener('change', async () => {
    const prompt = 'Describe the contents of this image.';

    const imagePart = await fileToGenerativePart(fileInputEl.files[0]);

    // To generate text output, call generateContent with the text and image
    const result = await model.generateContentStream([prompt, imagePart]);

    for await (const chunk of result.stream) {
      const chunkText = chunk.text();
      console.log(chunkText);
    }
    console.log(Complete response: ', await result.response);
  });

डेमो

अलग-अलग डिवाइसों और ब्राउज़र पर, Firebase AI Logic का डेमो देखें. इससे यह देखा जा सकता है कि मॉडल का जवाब, पहले से मौजूद एआई मॉडल से मिला है या क्लाउड से.

Chrome में, इस सुविधा के साथ काम करने वाले हार्डवेयर पर डेमो के लिए, Prompt API और Gemini Nano का इस्तेमाल किया जाता है. मुख्य दस्तावेज़, JavaScript फ़ाइल, और सीएसएस फ़ाइल के लिए सिर्फ़ तीन अनुरोध किए गए हैं.

Chrome में पहले से मौजूद एआई एपीआई का इस्तेमाल करके, Firebase AI Logic काम कर रहा है.

जब किसी दूसरे ब्राउज़र या एआई की सुविधा के बिना काम करने वाले ऑपरेटिंग सिस्टम में, Firebase एंडपॉइंट https://firebasevertexai.googleapis.com से कोई अतिरिक्त अनुरोध किया जाता है.

Safari में Firebase AI Logic चल रहा है और Firebase सर्वर से अनुरोध किया जा रहा है.

प्रोग्राम में शामिल होना और सुझाव/राय देना या शिकायत करना

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

ध्यान रखें कि क्लाउड ऐप्लिकेशन, निजता और काम करने के तरीके के लिए नई उम्मीदें पैदा करते हैं. इसलिए, अपने उपयोगकर्ताओं को यह बताना ज़रूरी है कि उनके डेटा को कहां प्रोसेस किया जा रहा है.