The Proofreader API

تاريخ النشر: 12 سبتمبر 2025

الشارح الويب الإضافات حالة Chrome النيّة بالشراء
GitHub فترة تجريبية للمطوّرين فترة تجريبية للمطوّرين فترة تجريبية للمطوّرين فترة تجريبية للمطوّرين العرض النيّة في إجراء تجربة

التدقيق اللغوي هو عملية البحث عن الأخطاء النحوية والإملائية وأخطاء علامات الترقيم وتصحيحها. أصبحت المتصفحات وأنظمة التشغيل توفّر بشكل متزايد ميزة التدقيق اللغوي لأدوات الكتابة، مثل "مستندات Google".

باستخدام Proofreader API، يمكنك توفير ميزة تدقيق لغوي تفاعلية لتطبيق الويب أو الإضافة، مع ذكاء اصطناعي مدمج. توفّر واجهة برمجة التطبيقات هذه الوظائف التالية:

  • التصحيح: تصحيح إدخالات المستخدمين من حيث القواعد والإملاء وعلامات الترقيم
  • التصنيفات: تصنيف كل تصحيح حسب نوع الخطأ
  • الشرح: تحديد الخطأ أو شرح سبب ضرورة التصحيح بلغة بسيطة.

حالات الاستخدام

هناك العديد من الأسباب التي قد تجعلك تستخدم Proofreader API، مثل:

  • اقتراح تصحيحات لرسائل المنتدى والتعليقات على المقالات والرسائل الإلكترونية، قبل إرسال المنشور
  • توفير التصحيحات أثناء تدوين الملاحظات

هل حالة الاستخدام غير مدرَجة؟ يمكنك الانضمام إلى برنامج الاستخدام المبكر لمشاركة ملاحظاتك.

البدء

يمكنك الانضمام إلى مرحلة التجربة والتقييم في Proofreader API، التي يتم تشغيلها في Chrome 141 إلى 145.

مراجعة متطلبات الأجهزة

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

تعمل Language Detector وTranslator APIs في 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
  • وحدة معالجة الرسومات أو وحدة المعالجة المركزية: يمكن تشغيل النماذج المضمّنة باستخدام وحدة معالجة الرسومات أو وحدة المعالجة المركزية.
    • وحدة معالجة الرسومات: ذاكرة وصول عشوائي للرسومات (VRAM) أكبر من 4 غيغابايت
    • وحدة المعالجة المركزية: ذاكرة وصول عشوائي (RAM) بسعة 16 غيغابايت أو أكثر و4 نوى لوحدة المعالجة المركزية أو أكثر
    • ملاحظة: تتطلب Prompt API مع الإدخال الصوتي وحدة معالجة رسومات.
  • الشبكة: بيانات غير محدودة أو اتصال لا تفرض تكلفة استخدامه.

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

إضافة الدعم إلى localhost

تتوفّر جميع واجهات برمجة التطبيقات المضمّنة المستندة إلى الذكاء الاصطناعي على localhost في Chrome. اضبط الإشارات التالية على مفعَّلة:

  • chrome://flags/#optimization-guide-on-device-model
  • chrome://flags/#prompt-api-for-gemini-nano-multimodal-input
  • chrome://flags/#proofreader-api-for-gemini-nano

بعد ذلك، انقر على إعادة التشغيل أو أعِد تشغيل Chrome. في حال حدوث أخطاء، يمكنك تحديد المشاكل وحلّها في localhost.

الاشتراك في مرحلة التجربة والتقييم

لبدء استخدام Proofreader API، اتّبِع الخطوات التالية:

  1. أكِّد موافقتك على سياسة الاستخدام المحظور للذكاء الاصطناعي التوليدي المتّبَعة في Google.
  2. انتقِل إلى مرحلة التجربة والتقييم في Proofreader API.
  3. انقر على تسجيل واملأ النموذج. في حقل "عنوان الويب المصدر"، أدخِل المصدر أو رقم تعريف الإضافة، chrome-extension://YOUR_EXTENSION_ID.
  4. لإرسال النموذج، انقر على تسجيل.
  5. انسخ الرمز المميّز المقدَّم وأضِفه إلى كل صفحة ويب مشارِكة على المصدر أو أدرِجه في بيان الإضافة.
  6. ابدأ استخدام Proofreader API.

مزيد من المعلومات عن كيفية بدء استخدام مراحل التجربة والتقييم.

استخدام Proofreader API

لتحديد ما إذا كان النموذج جاهزًا للاستخدام، استدعِ Proofreader.availability(). إذا كانت استجابة availability() هي "downloadable"، استمِع إلى تقدُّم التنزيل وأبلِغ المستخدم، لأنّ التنزيل قد يستغرق بعض الوقت.

const options = {
  expectedInputLanguages: ['en'],
};
const available = if (Proofreader.availability("downloadable") === true);

لتشغيل عملية التنزيل وإنشاء مثيل المدقق اللغوي، تحقَّق من تفعيل المستخدم. بعد ذلك، استدعِ الدالة غير المتزامنة Proofreader.create().

const session = await Proofreader.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
  ...options,
});

إنشاء كائن Proofreader

لإنشاء مدقق لغوي، استخدِم الدالة Proofreader.create().

const proofreader = await Proofreader.create({
  expectedInputLanguages: ["en"],
  monitor(m) {
    m.addEventListener("downloadprogress", e => {
      console.log(Downloaded ${e.loaded * 100}%);
    });
  }
};

يتضمّن الإجراء create() الخيارات التالية:

  • expectedInputLanguages: مصفوفة من لغات الإدخال المتوقّعة

لا تتوافق الخيارات includeCorrectionTypes وincludeCorrectionExplanation من الشارح .

بدء التدقيق اللغوي لنص المستخدم

استدعِ proofread() للحصول على تصحيحات لنص الإدخال:

const proofreadResult = await proofreader.proofread(
  'I seen him yesterday at the store, and he bought two loafs of bread.',
);

التصحيحات هي نوع من ProofreadResult. ابحث عن الإدخال المصحَّح بالكامل في السمة correctedInput وقائمة التصحيحات في مصفوفة corrections:

let inputRenderIndex = 0;

console.log(proofreadResult.correction);

for (const correction of proofreadResult.corrections) {
  // Render part of input that has no error.
  if (correction.startIndex > inputRenderIndex) {
    const unchangedInput = document.createElement('span');
    unchangedInput.textContent = input.substring(inputRenderIndex, correction.startIndex);
    editBox.append(unchangedInput);
  }
  // Render part of input that has an error and highlight as such.
  const errorInput = document.createElement('span');
  errorInput.textContent = input.substring(correction.startIndex, correction.endIndex);
  errorInput.classList.add('error');
  editBox.append(errorInput);
  inputRenderIndex = correction.endIndex;
}

// Render the rest of the input that has no error.
if (inputRenderIndex !== input.length){
  const unchangedInput = document.createElement('span');
  unchangedInput.textContent = input.substring(inputRenderIndex, input.length);
  editBox.append(unchangedInput);
}

سياسة الأذونات وiframe وWeb Workers

تتوفّر Proofreader API تلقائيًا لنوافذ المستوى الأعلى وiframe التي لها نفس المصدر فقط. يمكن تفويض إذن الوصول إلى واجهة برمجة التطبيقات إلى iframe من مصادر مختلفة باستخدام سمة Permission Policy `allow=""`:

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Proofreader API by
  setting the `allow="proofreader"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="proofreader"></iframe>

لا تتوفّر Proofreader API في Web Workers. يرجع ذلك إلى تعقيد إنشاء مستند مسئول لكل عامل، من أجل التحقّق من حالة سياسة الأذونات.

عرض توضيحي

يمكنك تجربة ساحة لعب Proofreader API والاطّلاع على رمز المصدر.

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

تخضع Proofreader API لمناقشة نشطة وقد تتغيّر في المستقبل. إذا جرّبت واجهة برمجة التطبيقات هذه وكانت لديك ملاحظات، يُرجى إرسالها إلينا.

  • اقرأ الشارح، اطرح الأسئلة وشارِك في المناقشة.
  • راجِع عملية التنفيذ في Chrome على صفحة حالة Chrome
  • اقرأ موقف Mozilla Standards وموقف WebKit Standards.
  • انضم إلى برنامج الاستخدام المبكر للاطّلاع على واجهات برمجة التطبيقات الجديدة قبل إطلاقها والوصول إلى قائمتنا البريدية.
  • إذا كانت لديك ملاحظات على عملية التنفيذ في Chrome، أرسِل تقريرًا عن خلل Chromium.

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