تاريخ النشر: 20 أيار (مايو) 2025
تتوفّر واجهة برمجة التطبيقات Prompt API المدمجة لإضافات Chrome على أنظمة التشغيل Windows وmacOS وLinux من الإصدار الثابت 138 من Chrome. ستتوفّر واجهة برمجة التطبيقات قريبًا في مرحلة التجربة والتقييم في Chrome.
لا تتوافق واجهة برمجة التطبيقات مع المتصفّحات الأخرى أو نظام التشغيل ChromeOS أو أنظمة التشغيل للأجهزة الجوّالة (مثل Android أو iOS). حتى إذا كان المتصفّح متوافقًا مع واجهة برمجة التطبيقات هذه، قد لا يكون متاحًا للتشغيل بسبب عدم استيفاء متطلبات الأجهزة.
لتلبية احتياجات المستخدمين، بغض النظر عن النظام الأساسي أو الجهاز الذي يستخدمونه، يمكنك إعداد ميزة الرجوع إلى السحابة الإلكترونية باستخدام Firebase AI Logic.
إنشاء تجربة هجينة للذكاء الاصطناعي
تقدّم تكنولوجيات الذكاء الاصطناعي المدمجة عددًا من المزايا، لعلّ أبرزها:
- المعالجة المحلية للبيانات الحسّاسة: إذا كنت تتعامل مع بيانات حسّاسة، يمكنك توفير ميزات الذكاء الاصطناعي للمستخدمين من خلال التشفير التام بين الأطراف.
- استخدام الذكاء الاصطناعي بلا إنترنت: يمكن للمستخدمين الوصول إلى ميزات الذكاء الاصطناعي، حتى عندما يكونون بلا إنترنت أو إذا انقطع الاتصال بالإنترنت.
على الرغم من أنّ هذه المزايا لا تنطبق على تطبيقات السحابة الإلكترونية، يمكنك ضمان تقديم تجربة سلسة للمستخدمين الذين لا يمكنهم الوصول إلى الذكاء الاصطناعي المضمّن.
بدء استخدام Firebase
أولاً، أنشئ مشروعًا على Firebase وسجِّل تطبيق الويب. واصِل عملية إعداد حزمة تطوير البرامج (SDK) لـ JavaScript في Firebase باستخدام مستندات Firebase.
تثبيت حزمة تطوير البرامج (SDK)
يستخدم سير العمل هذا حزمة npm ويتطلّب حِزم وحدات أو أدوات إطار عمل JavaScript. تم تحسين Firebase AI Logic للعمل مع حِزم الوحدات بهدف القضاء على الرموز البرمجية غير المستخدَمة (إزالة العناصر غير الضرورية من الشجرة) وتقليل حجم حزمة SDK.
npm install firebase@eap-ai-hybridinference
استخدام Firebase AI Logic
بعد تثبيت Firebase، عليك إعداد حزمة تطوير البرامج (SDK) لبدء استخدام خدمات Firebase.
ضبط تطبيق 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);
طلبات متعددة الوسائط
يمكنك أيضًا طلب المعلومات باستخدام صورة أو صوت، بالإضافة إلى النص. يمكنك أن تطلب من ال نموذج وصف محتوى الصورة أو تحويل ملف صوتي إلى نص.
يجب تمرير الصور كسلسلة مُرمّزة بترميز 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،
https://firebasevertexai.googleapis.com
.
المشاركة وتقديم الملاحظات
يمكن أن يكون Firebase AI Logic خيارًا رائعًا لدمج إمكانات الذكاء الاصطناعي في تطبيقات الويب. من خلال توفير بديل للسحابة الإلكترونية عندما لا تكون Prompt API متاحة، تضمن حزمة تطوير البرامج إمكانية الوصول إلى ميزات الذكاء الاصطناعي على نطاق أوسع وموثوقيتها.
تذكَّر أنّ تطبيقات السحابة الإلكترونية تخلق توقّعات جديدة للخصوصية والوظائف، لذا من المهم إبلاغ المستخدمين بمكان تتم فيه معالجة بياناتهم.
- لإرسال ملاحظات حول عملية تنفيذ Chrome، يُرجى إرسال تقرير خطأ أو طلب ميزة.
- لإرسال ملاحظات حول Firebase AI Logic، يُرجى إرسال تقرير عن الخطأ.