طلبات الذكاء الاصطناعي المختلط باستخدام منطق الذكاء الاصطناعي من Firebase

تاريخ النشر: 20 مايو 2025

لتلبية احتياجات المستخدمين، بغض النظر عن النظام الأساسي أو الأجهزة التي يستخدمونها، يمكنك إعداد خيار احتياطي على السحابة الإلكترونية باستخدام "منطق الذكاء الاصطناعي" من Firebase لواجهة Prompt API المضمّنة.

إنشاء تجربة ذكاء اصطناعي مختلطة

تتضمّن ميزات الذكاء الاصطناعي المدمجة عددًا من المزايا، أبرزها ما يلي:

  • المعالجة المحلية للبيانات الحساسة: إذا كنت تتعامل مع بيانات حساسة، يمكنك توفير ميزات الذكاء الاصطناعي للمستخدمين مع التشفير التام بين الأطراف.
  • استخدام الذكاء الاصطناعي بلا إنترنت: يمكن للمستخدمين الوصول إلى ميزات الذكاء الاصطناعي حتى عندما يكونون غير متصلين بالإنترنت أو عندما يكون الاتصال غير مستقر.

على الرغم من أنّ هذه المزايا لا تنطبق على التطبيقات المستندة إلى السحابة الإلكترونية، يمكنك ضمان تجربة سلسة للمستخدمين الذين لا يمكنهم الوصول إلى الذكاء الاصطناعي المضمّن.

بدء استخدام Firebase

  1. أنشئ مشروعًا على Firebase وسجِّل تطبيق الويب الخاص بك.
  2. اطّلِع على مستندات حزمة تطوير البرامج (SDK) لمنصة Firebase JavaScript لمواصلة إعداد تطبيق الويب.

تنشئ مشاريع Firebase مشروعًا على Google Cloud يتضمّن إعدادات وخدمات خاصة بـ Firebase. مزيد من المعلومات حول Google Cloud وFirebase

تثبيت حزمة تطوير البرامج (SDK)

يستخدم سير العمل هذا npm ويتطلّب أدوات تجميع الوحدات أو أدوات إطار عمل JavaScript. تم تحسين "منطق الذكاء الاصطناعي" في Firebase ليعمل مع حِزم الوحدات من أجل إزالة الرموز غير المستخدَمة وتقليل حجم حزمة تطوير البرامج (SDK).

npm install firebase

بعد التثبيت، ابدأ بإعداد Firebase في تطبيقك.

استخدام Firebase AI Logic

بعد تثبيت Firebase وتهيئته، اختَر إما Gemini Developer API أو Vertex AI Gemini API، ثم نفِّذ عملية التهيئة وأنشئ مثيلاً.

بعد إعداد النموذج، يمكنك تقديم طلب إليه باستخدام نص أو إدخال متعدد الوسائط.

الطلبات النصية

يمكنك استخدام نص عادي لتقديم التعليمات إلى النموذج. على سبيل المثال، يمكنك أن تطلب من النموذج أن يخبرك بنكتة.

لضمان استخدام الذكاء الاصطناعي المُدمَج عند توفّره في الدالة 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);

طلبات متعددة الوسائط

يمكنك أيضًا تقديم طلب باستخدام صورة أو صوت، بالإضافة إلى النص. يمكنك أن تطلب من النموذج وصف محتوى صورة أو تحويل ملف صوتي إلى نص.

يجب تمرير الصور كسلسلة مرمّزة بتشفير base64 ككائن FileDataPart في Firebase، ويمكنك إجراء ذلك باستخدام الدالة المساعدة 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. تم إجراء 3 طلبات فقط للمستند الرئيسي وملف JavaScript وملف CSS.

منطق الذكاء الاصطناعي في Firebase الذي يتم تشغيله في Chrome باستخدام واجهات برمجة التطبيقات المدمجة المستندة إلى الذكاء الاصطناعي

عند استخدام متصفّح آخر أو نظام تشغيل لا يتضمّن ميزة الذكاء الاصطناعي، يتم إرسال طلب إضافي إلى نقطة نهاية Firebase، وهي https://firebasevertexai.googleapis.com.

منطق الذكاء الاصطناعي في Firebase يعمل في Safari، ويُرسل طلبًا إلى خوادم Firebase.

المشاركة ومشاركة الملاحظات

يمكن أن تكون Firebase AI Logic خيارًا رائعًا لدمج إمكانات الذكاء الاصطناعي في تطبيقات الويب. من خلال توفير خيار احتياطي في السحابة الإلكترونية عندما لا تتوفّر Prompt API، تضمن حزمة SDK إمكانية الوصول إلى ميزات الذكاء الاصطناعي واستخدامها على نطاق أوسع وبشكل أكثر موثوقية.

تذكَّر أنّ التطبيقات المستندة إلى السحابة الإلكترونية تفرض توقعات جديدة بشأن الخصوصية والوظائف، لذا من المهم إعلام المستخدمين بمكان معالجة بياناتهم.