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

पब्लिश किया गया: 20 मई, 2025

पहले से मौजूद Prompt API, Chrome 138 के स्टैबल वर्शन से Windows, macOS, और Linux पर Chrome एक्सटेंशन के लिए उपलब्ध है. यह एपीआई, जल्द ही Chrome में ऑरिजिन ट्रायल के तौर पर उपलब्ध होगा.

यह एपीआई, दूसरे ब्राउज़र, ChromeOS या मोबाइल ऑपरेटिंग सिस्टम (जैसे, Android या iOS) पर काम नहीं करता. भले ही, ब्राउज़र इस एपीआई के साथ काम करता हो, फिर भी हो सकता है कि वह हार्डवेयर की ज़रूरी शर्तों को पूरा न करता हो.

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

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

पहले से मौजूद एआई के कई फ़ायदे हैं. इनमें से सबसे अहम ये हैं:

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

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

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

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

SDK टूल इंस्टॉल करना

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

npm install firebase@eap-ai-hybridinference

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

Firebase इंस्टॉल होने के बाद, Firebase की सेवाओं का इस्तेमाल शुरू करने के लिए, SDK टूल को शुरू करें.

अपने Firebase ऐप्लिकेशन को कॉन्फ़िगर और शुरू करना

किसी Firebase प्रोजेक्ट में, एक से ज़्यादा Firebase ऐप्लिकेशन हो सकते हैं. Firebase ऐप्लिकेशन, कंटेनर जैसा ऑब्जेक्ट होता है. इसमें सामान्य कॉन्फ़िगरेशन सेव होता है और Firebase की सभी सेवाओं के लिए पुष्टि की जानकारी शेयर की जाती है.

आपका Firebase ऐप्लिकेशन, हाइब्रिड एआई की सुविधा के क्लाउड हिस्से के तौर पर काम करता है.

import { initializeApp } from 'firebase/app';
import { getAI, getGenerativeModel } from 'firebase/vertexai';

// TODO: Replace the following with your app's Firebase project configuration.
const firebaseConfig = {
  apiKey: '',
  authDomain: '',
  projectId: '',
  storageBucket: '',
  messagingSenderId: '',
  appId: '',
};

// Initialize `FirebaseApp`.
const firebaseApp = initializeApp(firebaseConfig);

मॉडल को प्रॉम्प्ट करना

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

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

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

getGenerativeModel फ़ंक्शन में उपलब्ध होने पर, पहले से मौजूद एआई का इस्तेमाल करने के लिए, mode को prefer_on_device पर सेट करें.

// 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);

मल्टीमोडल प्रॉम्प्ट

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

इमेज को Firebase FileDataPart ऑब्जेक्ट के तौर पर, Base64 एन्कोड की गई स्ट्रिंग के तौर पर पास करना होगा. ऐसा करने के लिए, हेल्पर फ़ंक्शन 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 एआई लॉजिक के डेमो पर जाएं. इससे यह देखा जा सकता है कि मॉडल का जवाब, पहले से मौजूद एआई मॉडल या क्लाउड से कैसे मिलता है.

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

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

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

Safari में चल रहा Firebase का एआई लॉजिक, Firebase सर्वर से अनुरोध कर रहा है.

हिस्सा लेना और सुझाव/राय देना या शिकायत करना

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

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