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

Published: May 20, 2025

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

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

يوفّر الذكاء الاصطناعي المضمّن عددًا من المزايا، وأهمها:

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

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

البدء باستخدام Firebase

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

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

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

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

npm install firebase

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

استخدام Firebase AI Logic

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

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

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

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

تتوفّر بعض الخيارات لكيفية توجيه الطلب:

  • استخدِم الذكاء الاصطناعي المضمّن تلقائيًا عندما يكون متاحًا من خلال ضبط mode على 'prefer_on_device' في الدالة getGenerativeModel(). إذا لم يكن النموذج المضمّن متاحًا، سيتم الرجوع بسلاسة إلى استخدام النموذج السحابي (إذا كنت متصلاً بالإنترنت).

  • استخدِم النموذج السحابي تلقائيًا عندما تكون متصلاً بالإنترنت من خلال ضبط mode على 'prefer_in_cloud' في الدالة getGenerativeModel(). إذا كنت غير متصل بالإنترنت، سيتم الرجوع بسلاسة إلى استخدام الذكاء الاصطناعي المضمّن عندما يكون متاحًا.

// 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) إمكانية الوصول إلى ميزات الذكاء الاصطناعي وموثوقيتها على نطاق أوسع.

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