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

Alexandra Klepper
Alexandra Klepper

تم النشر في: 12 ديسمبر 2024، آخر تعديل: 20 مايو 2025

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

النماذج المطلوبة

تستخدم واجهات برمجة التطبيقات Translator وLanguage Detector نماذج الخبراء. تستخدم جميع واجهات برمجة التطبيقات الأخرى نموذجًا لغويًا مصمّمًا للتشغيل محليًا على أجهزة الكمبيوتر المكتبية والمحمولة.

لا تتيح واجهات برمجة التطبيقات Summarizer وWriter وRewriter وProofreader إلا إمكانية تحويل النص إلى نص. تتوفّر في واجهة برمجة التطبيقات Prompt إمكانات متعدّدة الوسائط.

نماذج Chrome

يستخدم Chrome نماذج لغوية أساسية ونماذج الخبراء. لا تتوفّر هذه النماذج على الأجهزة الجوّالة.

اعتبارًا من Chrome 149، تتيح النماذج اللغات الإنجليزية والإسبانية واليابانية والألمانية والفرنسية للنص المُدخَل والمخرَج.

الأجهزة المطلوبة

تتوفّر المتطلبات التالية للمطوّرين والمستخدمين الذين يشغّلون الميزات باستخدام واجهات برمجة التطبيقات هذه في Chrome. قد تختلف متطلبات التشغيل في المتصفّحات الأخرى.

تعمل واجهات برمجة التطبيقات Language Detector وTranslator في Chrome على الكمبيوتر المكتبي. لا تعمل واجهات برمجة التطبيقات هذه على الأجهزة الجوّالة.

تعمل واجهات برمجة التطبيقات Prompt API وSummarizer API وWriter API وRewriter API وProofreader API في Chrome عند استيفاء الشروط التالية:

  • نظام التشغيل: Windows 10 أو 11 أو macOS 13 والإصدارات الأحدث (Ventura والإصدارات الأحدث) أو Linux أو ChromeOS (اعتبارًا من الإصدار 16389.0.0 والإصدارات الأحدث) على أجهزة Chromebook Plus. لا تتيح واجهات برمجة التطبيقات التي تستخدم النماذج الأساسية بعد Chrome لنظام التشغيل Android وiOS وChromeOS على الأجهزة غير Chromebook Plus.
  • مساحة التخزين: مساحة خالية لا تقل عن 22 غيغابايت على وحدة التخزين التي تحتوي على ملف شخصي في Chrome
  • وحدة معالجة الرسومات أو وحدة المعالجة المركزية: يمكن تشغيل النماذج المدمَجة باستخدام وحدة معالجة الرسومات أو وحدة المعالجة المركزية.
    • وحدة معالجة الرسومات: ذاكرة وصول عشوائي للرسومات (VRAM) تزيد عن 4 غيغابايت
    • وحدة المعالجة المركزية: ذاكرة وصول عشوائي (RAM) بسعة 16 غيغابايت أو أكثر و4 نوى لوحدة المعالجة المركزية أو أكثر
    • ملاحظة: تتطلب واجهة برمجة التطبيقات Prompt مع إدخال الصوت وحدة معالجة رسومات.
  • الشبكة: بيانات غير محدودة أو اتصال لا يفرض رسومًا على استخدام البيانات

قد يختلف الحجم الدقيق لنموذج Gemini Nano مع تعديل المتصفّح للنموذج. لتحديد الحجم الحالي، انتقِل إلى chrome://on-device-internals.

بدء الإنشاء

تتوفّر العديد من واجهات برمجة التطبيقات المدمَجة للذكاء الاصطناعي في مراحل تطوير مختلفة. بعضها في إصدار Chrome الثابت، وبعضها الآخر متاح للمشاركين في مرحلة التجربة والتقييم، وبعضها الآخر متاح فقط لـ المشاركين في برنامج "النسخة المبكرة الحصرية".

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

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

تنزيل النموذج

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

لتحديد ما إذا كانت واجهة برمجة التطبيقات قابلة للاستخدام وجاهزة، استدعِ الدالة غير المتزامنة availability()، التي تعرض وعدًا بإحدى القيم التالية:

  • "unavailable": لا يتوافق جهاز المستخدم أو خيارات الجلسة المطلوبة. قد لا يكون الجهاز مزوّدًا بطاقة كافية أو مساحة تخزين كافية على القرص.
  • "downloadable": هناك حاجة إلى عمليات تنزيل إضافية لإنشاء جلسة، وقد يشمل ذلك نموذج خبير أو نموذجًا لغويًا أو عملية ضبط دقيق. قد يكون تفعيل المستخدم مطلوبًا لاستدعاء create().
  • "downloading": عمليات التنزيل قيد التنفيذ ويجب إكمالها قبل أن تتمكّن من استخدام جلسة.
  • "available": يمكنك إنشاء جلسة على الفور.

تتطلب بعض واجهات برمجة التطبيقات خيارات إضافية عند استدعاء `availability`. على سبيل المثال، تتطلب واجهة برمجة التطبيقات Prompt الإعلان عن إمكانية استخدام اللغة:

// Makes sure the model is available for English and Japanese input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
  expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
  expectedOutputs: [{type: "text", languages: ["en"]}],
});

تفعيل المستخدم

إذا كان الجهاز يتيح استخدام واجهات برمجة التطبيقات المدمَجة للذكاء الاصطناعي، ولكن لم يتم تنزيل النموذج بعد (أي عند استدعاء availability() وعرض القيمة "downloadable" أو "downloading")، على المستخدم التفاعل بشكل مفيد مع صفحتك لكي يبدأ تطبيقك جلسة باستخدام 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 وحلّها

إذا لم يعمل النموذج على النحو المتوقّع، اتّبِع الخطوات التالية:

  1. أعِد تشغيل Chrome.
  2. انتقِل إلى chrome://on-device-internals.
  3. انقر على علامة التبويب Broker State وتأكَّد من عدم ظهور أي أخطاء.
  4. افتح "أدوات مطوّري البرامج" واكتب LanguageModel.availability(); في وحدة التحكّم. يجب أن تعرض هذه الدالة القيمة available.

إذا لزم الأمر، انتظِر بعض الوقت وكرِّر هذه الخطوات.

عملية المعايير

نحن نعمل على توحيد واجهات برمجة التطبيقات هذه، لكي تعمل على جميع المتصفّحات. يعني ذلك أنّنا اقترحنا واجهات برمجة التطبيقات على منتدى منصات الويب، ونقلناها إلى مجموعة W3C Web Incubator Community Group لمزيد من المناقشة.

نطلب ملاحظات من W3C وMozilla وWebKit لكل واجهة برمجة تطبيقات.

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

إذا جرّبت الذكاء الاصطناعي المدمَج وكان لديك ملاحظات، يُرجى إرسالها إلينا.