تم النشر في 12 ديسمبر 2024، وتم آخر تعديل في 20 مايو 2025
باستخدام واجهات برمجة التطبيقات المدمَجة التي تستخدم الذكاء الاصطناعي، يمكن لتطبيق الويب تنفيذ مهام مستندة إلى الذكاء الاصطناعي بدون الحاجة إلى نشر نماذج الذكاء الاصطناعي الخاصة به أو إدارتها. نعمل على توحيد هذه الواجهات على مستوى المتصفّحات.
المتطلبات
لاستخدام الذكاء الاصطناعي المدمَج، يجب استيفاء متطلبات النموذج والأجهزة.
النماذج
تستخدم واجهات برمجة التطبيقات Translator وLanguage Detector نماذج الخبراء. تستخدم جميع واجهات برمجة التطبيقات الأخرى نموذجًا لغويًا مصمّمًا للتشغيل محليًا على أجهزة الكمبيوتر المكتبية والمحمولة.
لا تتيح واجهات برمجة التطبيقات Summarizer وWriter وRewriter وProofreader إلا إمكانية تحويل النص إلى نص. تتوفّر في واجهة برمجة التطبيقات Prompt إمكانات متعدّدة الوسائط.
Gemini Nano في Chrome
يستخدم Chrome النماذج اللغوية Gemini Nano. لا يتوفّر Gemini Nano على الأجهزة الجوّالة.
اعتبارًا من Chrome 149، يتيح Gemini Nano استخدام اللغات الإنجليزية والإسبانية واليابانية والألمانية والفرنسية للنص المُدخَل والمخرَج.
الأجهزة
تنطبق المتطلبات التالية على المطوّرين والمستخدمين الذين يشغّلون الميزات باستخدام واجهات برمجة التطبيقات هذه في Chrome. قد تكون للمتصفّحات الأخرى متطلبات تشغيل مختلفة.
تعمل واجهات برمجة التطبيقات Language Detector وTranslator في Chrome على الكمبيوتر المكتبي. لا تعمل واجهات برمجة التطبيقات هذه على الأجهزة الجوّالة.
تعمل واجهات برمجة التطبيقات Prompt وSummarizer وWriter و Rewriter وProofreader في Chrome عند استيفاء الشروط التالية:
- نظام التشغيل: Windows 10 أو 11 أو macOS 13 والإصدارات الأحدث (Ventura والإصدارات اللاحقة) أو Linux أو ChromeOS (من الإصدار 16389.0.0 والإصدارات اللاحقة من النظام الأساسي) على أجهزة Chromebook Plus. لا تتيح واجهات برمجة التطبيقات التي تستخدم Gemini Nano بعد استخدام Chrome لنظام Android وiOS وChromeOS على الأجهزة غير Chromebook Plus.
- مساحة التخزين: مساحة خالية لا تقل عن 22 غيغابايت على وحدة التخزين التي تحتوي على ملف Chrome الشخصي
- وحدة معالجة الرسومات أو وحدة المعالجة المركزية: يمكن تشغيل النماذج المدمَجة باستخدام وحدة معالجة الرسومات أو وحدة المعالجة المركزية.
- وحدة معالجة الرسومات: ذاكرة وصول عشوائي لبطاقة الرسومات (VRAM) تزيد عن 4 غيغابايت
- وحدة المعالجة المركزية: ذاكرة وصول عشوائي (RAM) تبلغ 16 غيغابايت أو أكثر و4 نوى أو أكثر في وحدة المعالجة المركزية
- ملاحظة: تتطلب واجهة برمجة التطبيقات Prompt التي تستخدم الإدخال الصوتي وحدة معالجة رسومات.
- الشبكة: بيانات غير محدودة أو اتصال لا تفرض تكلفة استخدامه. عادةً ما تكون اتصالات Wi-Fi واتصالات إيثرنت لا تفرض تكلفة استخدام تلقائيًا، بينما تكون اتصالات شبكة الجوّال تفرض تكلفة استخدام في أغلب الأحيان.
قد يختلف الحجم الدقيق لـ Gemini Nano مع تعديل المتصفّح للنموذج. لتحديد الحجم الحالي، انتقِل إلى chrome://on-device-internals.
بدء الإنشاء
تتوفّر عدة واجهات برمجة تطبيقات مدمَجة تستخدم الذكاء الاصطناعي في مراحل تطوير مختلفة. بعضها في إصدار Chrome الثابت، وبعضها الآخر متاح للمشاركين في التجارب الأساسية، وبعضها الآخر متاح فقط لـ المشاركين في "برنامج الاستخدام المبكر".
لكل واجهة برمجة تطبيقات مجموعة التعليمات الخاصة بها لبدء الاستخدام وتنزيل النموذج، سواء للنماذج الأولية المحلية أو في بيئات الإنتاج باستخدام التجارب الأساسية.
- Translator API
- Language Detector API
- Summarizer API
- Writer API وRewriter API
- Proofreader API
- Prompt API
يمكن استخدام كل واجهات برمجة التطبيقات هذه عند إنشاء إضافات Chrome.
تنزيل النموذج
تكون واجهات برمجة التطبيقات مدمَجة في Chrome، وكذلك النماذج. في المرة الأولى التي يتفاعل فيها المستخدم مع واجهات برمجة التطبيقات هذه، يجب تنزيل النموذج إلى المتصفّح.
لتحديد ما إذا كانت واجهة برمجة التطبيقات قابلة للاستخدام وجاهزة، يمكنك استدعاء الدالة غير المتزامنة availability() التي تعرض وعدًا بإحدى القيم التالية:
"unavailable": لا يتوافق جهاز المستخدم أو خيارات الجلسة المطلوبة. قد لا يكون الجهاز مزوّدًا بالطاقة الكافية أو مساحة التخزين الكافية على القرص."downloadable": يجب إجراء عمليات تنزيل إضافية لإنشاء جلسة، وقد يشمل ذلك نموذج خبير أو نموذجًا لغويًا أو عملية ضبط دقيق. قد يكون تفعيل المستخدم مطلوبًا لاستدعاءcreate()."downloading": عمليات التنزيل قيد التنفيذ ويجب إكمالها قبل أن تتمكّن من استخدام جلسة."available": يمكنك إنشاء جلسة على الفور.
تتطلب بعض واجهات برمجة التطبيقات خيارات إضافية عند استدعاء `availability`. على سبيل المثال، تتطلب واجهة برمجة التطبيقات Prompt الإعلان عن دعم اللغة:
// Makes sure the model is available for English and Japanese.
await LanguageModel.availability({ languages: ["en", "ja"] });
تفعيل المستخدم
إذا كان الجهاز يتيح استخدام واجهات برمجة التطبيقات المدمَجة التي تستخدم الذكاء الاصطناعي، ولكن لم يتم تنزيل النموذج بعد، على المستخدم التفاعل بشكل مفيد مع صفحتك لكي يبدأ تطبيقك جلسة باستخدام create().
استخدِم السمة UserActivation.isActive
للتأكّد من أنّ المستخدم قد تفاعل مباشرةً مع الصفحة منذ اكتمال تحميلها. يمكن أن يشمل ذلك النقر أو الضغط على مفتاح أو mousedown أو
أحداث التفعيل الأخرى.
// Check for user activation.
if (navigator.userActivation.isActive) {
// Create an instance of a built-in API
}
على سبيل المثال، باستخدام واجهة برمجة التطبيقات Summarizer، يمكنك
أن تطلب من المستخدمين التفاعل مع زر يحمل العنوان "تلخيص" لتفعيل
Summarizer.create()، أو يمكنك إنشاء أداة التلخيص بعد أن يبدأ المستخدم في
الكتابة، وهو حدث keydown.
استخدام واجهات برمجة التطبيقات على localhost
تتوفّر جميع واجهات برمجة التطبيقات على localhost في Chrome.
- انتقِل إلى
chrome://flags/#optimization-guide-on-device-model. - اختَر مفعَّلة.
- انقر على إعادة التشغيل أو أعد تشغيل Chrome.
بالنسبة إلى واجهات برمجة التطبيقات التي تستخدم Gemini Nano، عليك أيضًا ضبط chrome://flags/#prompt-api-for-gemini-nano على مفعَّلة أو مفعَّلة (متعددة اللغات). يمكنك التأكّد من تنزيل النموذج وعمله
على النحو المطلوب في "وحدة تحكّم أدوات مطوّري البرامج".
نفِّذ await LanguageModel.availability(); في وحدة التحكّم.
تحديد المشاكل في localhost وحلّها
إذا لم تظهر العلامات في chrome://flags، تأكَّد من تنزيل
الـ أحدث إصدار من Chrome.
إذا لم يعمل النموذج على النحو المتوقّع، اتّبِع الخطوات التالية:
- أعِد تشغيل Chrome.
- انتقِل إلى
chrome://on-device-internals. - انقر على علامة التبويب حالة النموذج وتأكَّد من عدم ظهور أي أخطاء.
- افتح "أدوات مطوّري البرامج" واكتب
LanguageModel.availability();في وحدة التحكّم. يجب أن تعرض هذه الدالة القيمةavailable.
إذا لزم الأمر، انتظر بعض الوقت وكرِّر هذه الخطوات.
عملية وضع المعايير
نعمل على توحيد واجهات برمجة التطبيقات هذه، لكي تعمل على جميع المتصفّحات. يعني ذلك أنّنا اقترحنا واجهات برمجة التطبيقات على منتدى منصات الويب، ونقلناها إلى مجموعة W3C Web Incubator Community Group لمناقشتها بشكل أكبر.
نطلب ملاحظات من W3C وMozilla وWebKit لكل واجهة برمجة تطبيقات.
التفاعل ومشاركة الملاحظات
إذا جرّبت الذكاء الاصطناعي المدمَج ولديك ملاحظات، يُسعدنا معرفتها.
- اكتشِف جميع واجهات برمجة التطبيقات المدمَجة التي تستخدم الذكاء الاصطناعي .
- انضم إلى برنامج الاستخدام المبكر للاطّلاع مبكرًا على واجهات برمجة التطبيقات الجديدة والوصول إلى قائمتنا البريدية.
- إذا كان لديك ملاحظات حول تنفيذ Chrome، يمكنك الإبلاغ عن خطأ في Chromium.
- تعرَّف على معايير الويب.