تاريخ النشر: 24 سبتمبر 2024، تاريخ آخر تعديل: 20 مايو 2025
قبل ترجمة نص من لغة إلى أخرى، عليك أولاً تحديد اللغة المستخدمة في النص المحدّد. في السابق، كانت الترجمة تتطلّب تحميل النص إلى خدمة سحابية، ثم إجراء الترجمة على الخادم، ثم تنزيل النتائج.
تعمل واجهة برمجة التطبيقات Language Detector API من جهة العميل، ما يعني أنّه يمكنك حماية خصوصية المستخدم. على الرغم من إمكانية شحن مكتبة معيّنة تنفّذ هذه العملية، إلا أنّ ذلك سيتطلّب موارد إضافية لتنزيلها.
حالات استخدام ميزة "رصد اللغة"
تكون واجهة برمجة التطبيقات Language Detector مفيدة بشكل أساسي في الحالات التالية:
- تحديد لغة النص المدخَل حتى يمكن ترجمته
- تحديد لغة النص المُدخَل، حتى يمكن تحميل النموذج الصحيح للمهام الخاصة باللغة، مثل رصد اللغة السامة
- تحديد لغة النص المُدخَل، ما يتيح تصنيفه بشكل صحيح، مثلاً في مواقع التواصل الاجتماعي على الإنترنت
- تحديد لغة النص المدخل، حتى يمكن تعديل واجهة التطبيق وفقًا لذلك على سبيل المثال، على موقع بلجيكي، لعرض الواجهة ذات الصلة بالمستخدمين الذين يتحدثون الفرنسية فقط.
البدء
مراجعة متطلبات الأجهزة
تتوفّر المتطلبات التالية للمطوّرين والمستخدمين الذين يشغّلون الميزات باستخدام واجهات برمجة التطبيقات هذه في Chrome. قد تتطلّب المتصفّحات الأخرى متطلبات تشغيل مختلفة.
تعمل واجهة برمجة التطبيقات الخاصة بأداة رصد اللغة وواجهة برمجة التطبيقات الخاصة بأداة الترجمة في متصفّح 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 لا تتوافق واجهات برمجة التطبيقات التي تستخدم Gemini Nano بعد مع Chrome لنظام Android وiOS وChromeOS على الأجهزة غير Chromebook Plus.
- مساحة التخزين: يجب توفّر مساحة خالية لا تقل عن 22 غيغابايت على وحدة التخزين التي تحتوي على ملفك الشخصي على Chrome.
- وحدة معالجة الرسومات أو وحدة المعالجة المركزية: يمكن تشغيل النماذج المضمّنة باستخدام وحدة معالجة الرسومات أو وحدة المعالجة المركزية.
- وحدة معالجة الرسومات (GPU): يجب أن تكون ذاكرة الوصول العشوائي للفيديو (VRAM) أكبر من 4 غيغابايت.
- وحدة المعالجة المركزية (CPU): ذاكرة وصول عشوائي (RAM) بسعة 16 غيغابايت أو أكثر و4 نوى لوحدة المعالجة المركزية أو أكثر
- ملاحظة: تتطلّب واجهة Prompt API التي تستخدم الإدخال الصوتي وحدة معالجة رسومات.
- الشبكة: بيانات غير محدودة أو اتصال لا تفرض تكلفة استخدامه.
قد يختلف حجم Gemini Nano الدقيق مع تحديث المتصفّح للنموذج. لمعرفة الحجم الحالي، انتقِل إلى chrome://on-device-internals.
نفِّذ عملية رصد الميزات لمعرفة ما إذا كان المتصفّح يتيح استخدام Language Detector API.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
تنزيل النموذج
تعتمد ميزة "التعرّف على اللغة" على نموذج تم تحسينه خصيصًا لمهمة التعرّف على اللغات. على الرغم من أنّ واجهة برمجة التطبيقات مضمّنة في المتصفّح، يتم تنزيل النموذج عند الطلب في المرة الأولى التي يحاول فيها موقع إلكتروني استخدام واجهة برمجة التطبيقات. في Chrome، هذا النموذج صغير جدًا مقارنةً بالنماذج الأخرى. قد يكون النموذج متوفّرًا حاليًا، لأنّ ميزات أخرى في Chrome تستخدمه.
لتحديد ما إذا كان النموذج جاهزًا للاستخدام، استدعِ الدالة غير المتزامنة
LanguageDetector.availability(). إذا كان الردّ على availability() هو downloadable، استمع إلى مستوى التقدّم في عملية التنزيل وأبلِغ المستخدم بذلك، لأنّ عملية التنزيل قد تستغرق بعض الوقت.
لتشغيل عملية التنزيل وإنشاء مثيل لأداة رصد اللغة، تحقَّق من تفعيل المستخدم. بعد ذلك، استدعِ الدالة غير المتزامنة LanguageDetector.create().
const detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
تشغيل أداة رصد اللغة
تستخدم واجهة برمجة التطبيقات Language Detector API نموذج ترتيب لتحديد اللغة التي من المرجّح أن تكون مستخدَمة في نص معيّن. الترتيب هو نوع من أنواع التعلّم الآلي، ويكون الهدف منه ترتيب قائمة من العناصر. في هذه الحالة، ترتّب واجهة برمجة التطبيقات Language Detector API اللغات من الأعلى إلى الأقل احتمالاً.
يمكن أن تعرض الدالة detect() إما النتيجة الأولى أو الجواب الأرجح أو تتكرر على المرشحين المرتبين حسب مستوى الثقة.
يتم عرض هذه البيانات على شكل قائمة بعناصر {detectedLanguage, confidence}. يتم التعبير عن مستوى confidence كقيمة بين 0.0 (أدنى مستوى ثقة) و1.0 (أعلى مستوى ثقة).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
استوديو الذكاء الاصطناعي
جرِّب واجهة برمجة التطبيقات Language Detector API في ساحة لعب واجهات برمجة التطبيقات. أدخِل نصًا مكتوبًا بلغات مختلفة في مساحة النص.
سياسة الأذونات وإطارات iframe وWeb Workers
تتوفّر واجهة برمجة التطبيقات Language Detector API تلقائيًا للنوافذ ذات المستوى الأعلى ولإطارات iframe من المصدر نفسه. يمكن تفويض إذن الوصول إلى واجهة برمجة التطبيقات لإطارات iframe من مصادر متعددة
باستخدام السمة allow="" في Permission Policy:
<!--
The hosting site at https://main.example.com can grant a cross-origin iframe
at https://cross-origin.example.com/ access to the Language Detector API by
setting the `allow="language-detector"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="language-detector"></iframe>
لا تتوفّر واجهة برمجة التطبيقات Language Detector API في Web Workers. ويرجع ذلك إلى صعوبة إنشاء مستند مسؤول لكل عامل من أجل التحقّق من حالة "سياسة الأذونات".
مشاركة ملاحظاتك
نريد أن نرى ما يمكنك إنشاؤه باستخدام Language Detector API. يمكنك مشاركة مواقعك الإلكترونية وتطبيقات الويب معنا على X وYouTube وLinkedIn.
إذا كانت لديك ملاحظات حول طريقة تنفيذ Chrome لهذه الميزة، يُرجى إرسال تقرير عن خلل Chromium.
الانضمام إلى برنامج الاستخدام المبكر لإلقاء نظرة مبكرة على واجهات برمجة التطبيقات الجديدة المدمجة المستندة إلى الذكاء الاصطناعي والمشاركة في مناقشات على قائمتنا البريدية