تساعد Summarizer API شركتَي redBus وMiravia في إنشاء ملخّصات مفيدة لمراجعات المستخدمين.

Cecilia Cong
Cecilia Cong
Hadyan Andika
Hadyan Andika

Published: May 15, 2025, Last updated: May 27, 2026

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

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

شرح مفصّل الويب الإضافات حالة Chrome النيّة بالشراء
MDN Chrome 138 Chrome 138 العرض النيّة بالشحن

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

يساعد redBus العملاء في تحديد أفضل خيار للحافلة

‫redBus هي أكبر شركة لتوفير الحافلات في الهند، ولديها أكثر من 30 مليون عميل، وتقدّم خدمات الحافلات في ما يقرب من 10,000 مدينة وبلدة متصلة على مستوى البلاد. من خلال البيانات والملاحظات، أدركت redBus أنّ المراجعات من إنشاء المستخدمين تؤدّي دورًا مهمًا في مساعدة العملاء في تحديد أفضل طريق وأفضل حافلة لتلبية احتياجاتهم المتعلقة بالسفر. تتلقّى redBus عددًا كبيرًا من المراجعات، وكل مراجعة خاصة بنقاط الوصول والمغادرة والوقت المحدّد.

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

يبحث أحد العملاء عن طريق من بنغالور إلى مانغالورو. تطّلع أداة Summarizer على المراجعات المتاحة وتجمع نظرة عامة مفيدة لمساعدة العملاء في العثور على أفضل حافلة لرحلتهم.

"تمكّنت واجهة برمجة التطبيقات Summarizer API من إنشاء ملخّصات عالية الجودة من عدد كبير من المراجعات والتبديلات الممكنة لطلبات بحث المستخدمين. أزالت هذه الميزة من جهة العميل التعقيد الفني وتكاليف المؤسسة الإضافية التي كانت ستظهر في حال استخدام بديل من جهة الخادم. وهذا مهم بالنسبة إلينا لأنّ حالة الاستخدام هذه جزء من مسار الإحالة الناجحة".

‫— أميت كومار، مدير هندسة أول، redBus

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

لإنشاء ملخّصات فعّالة، تقدّم redBus السياق التالي إلى واجهة برمجة التطبيقات Summarizer API، بالإضافة إلى مراجعات العملاء:

//Context to provide a useful summary
const promptContext =
  'Summarize the following reviews in 30 words or less.' +
  'Focus on key positives and negatives, such as comfort, maintenance,' +
  'pricing, and cleanliness. Reviews are separated by {end}.' +
  'Give the summary in just one paragraph.';

تحسّن الملخّصات عملية اتّخاذ القرارات لدى العملاء، بدون تكاليف إضافية للمؤسسة وتعقيد فني. بالإضافة إلى ذلك، يمكن لـ redBus تخصيص الملخّص حسب تفضيلات السفر للمستخدمين الذين سجّلوا الدخول، مثل راحة المقعد أو توفُّر شبكة Wi-Fi. يتم الاستنتاج من جهة العميل، ما يعني أنّ هذا البحث والملخّص يظلان خاصين بالمستخدم.

ألقِ نظرة على نموذج رمز قصير يتحقّق من توفُّر أداة Summarizer، ويقدّم السياق، ويستردّ المراجعات استنادًا إلى طلب بحث المستخدم.

// The Summarizer API is available
if ('Summarizer' in self) {
  try {
    const available = await Summarizer.availability();
    let summarizer;
    if (available === 'unavailable') {
      return null;
    }
    if (available === 'available') {
      //model is already available, use immediately
      summarizer = await Summarizer.create();
    } else {
      //trigger model download and wait
      summarizer = await Summarizer.create();
    }

    // Context to provide a useful summary
    const promptContext =
      'Summarize the following reviews in 30 words or less.' +
      'Focus on key positives and negatives, such as comfort, maintenance,' +
      'pricing, and cleanliness. Reviews are separated by {end}.' +
      'Give the summary in just one paragraph.';

    // Retrieve the reviews to be summarized based on user's search query
    let reviews = getIndividualBusReviews();
    if (reviews) {
      const reviewSummary = await summarizer.summarize(reviews, {
        context: promptContext
      });
    }
  } catch (e) {
    console.error("SUMMARIZER_API_ERROR: ", e);
    return null
  }
}

مع مثال البحث من بنغالور إلى مانغالورو، يكون الناتج من أداة Summarizer على النحو التالي:

<Bus Provider X> تلقّى عمومًا مراجعات إيجابية بشأن الراحة والنظافة وخدمة الموظفين. واجه بعض المستخدمين مشاكل بسيطة مثل التأخير وسلوك السائق (غير مهذّب) وعدم توفُّر وسائل الراحة (التتبّع المباشر والبطانيات) وعدم الراحة (حجم المقعد وممتصّات الصدمات الرديئة).

تستوفي هذه المراجعة المتطلبات المطلوبة، مع إيجابيات وسلبيات في فقرة قصيرة، ما يسهّل قراءتها أكثر من 308 مراجعات فردية.

ملخّص Miravia لمراجعات التجارة الإلكترونية

Miravia هي منصة رائدة للتجارة الإلكترونية في إسبانيا، ولديها ملايين المستخدمين النشطين شهريًا. عندما يفلتر المستخدمون المراجعات (على سبيل المثال، حسب تقييم المنتج)، يتم إنشاء ملخّص جديد. يقدّم ذلك نظرة عامة موجزة عن ملاحظات العملاء، مع إبراز المخاوف والاقتراحات.

يمكن للمستخدمين إنشاء ملخّصات لمراجعات المنتجات لتقييمات مختلفة.

"في السابق، كان على المستخدمين قراءة العديد من التعليقات الفردية على صفحة التفاصيل لفهم الإيجابيات والسلبيات الرئيسية في مراجعات المنتجات. لمساعدة المستخدمين في فهم شعور العملاء العام بسرعة، قدّمنا واجهة برمجة التطبيقات Summarizer API. يتم تعديل هذا الملخّص ديناميكيًا عندما يفلتر المستخدم المراجعات (مثل حسب التقييم بالنجوم أو معايير أخرى)، ما يقدّم نظرة عامة سريعة وشاملة عن ملاحظات المشترين ذات الصلة".

‫— زيي ليانغ، مهندس برامج أول، Miravia

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

في حين أنّ عملية التنفيذ في Miravia تتطلّب جلب المراجعات وتلخيصها في الوقت الفعلي، سواء كان الاستنتاج يحدث على الخادم أو في المتصفّح، يكون الذكاء الاصطناعي من جهة العميل أكثر كفاءةً بشكلٍ ملحوظ مع زيادة التكرار. وهم راضون عن أدائه العام.

أولاً، تتحقّق Miravia من توافق الميزة والجهاز.

// Compatibility check for device with built-in AI
export const deviceCheck = async () => {
  // Query the browser's AI capabilities
  const availability = await Summarizer.availability();

  // Case 1: Device doesn't support AI summarization
  if (availability === 'unavailable') {
    return {
      summarizationAvailable: false,
      message:
        'AI summarization tools are not supported on this device, or the appropriate permissions have not be set.',
    };
  }

  // Case 2: Device supports AI but requires model download
  if (availability === 'downloadable') {
    // Try to trigger an installation
    Summarizer.create();

    return {
      summarizationAvailable: false,
      message: 'Installing in the background. This may take a few minutes...',
    };
  }

  // Case 3: Device supports AI summarization
  return {
    summarizationAvailable: true,
    message: 'Ready for use.',
  };
};

بعد ذلك، تلخّص Miravia المراجعات المتاحة. يتم دمج المراجعات مع فترة إضافية لجعل الإدخال أكثر اتساقًا.

/**
 * Summarizes a list of reviews using Chrome's Built-in AI
 * @param {Array<string>} reviewContentList - Array of review texts to summarize
 * @returns {Promise<string>} The generated summary text
 * @throws {Error} If summarization is not available or fails
 */
export const reviewSummarize = async (reviewContentList) => {
  // Validate input
  if (!Array.isArray(reviewContentList) || !reviewContentList.length) {
    throw new Error('Please provide a non-empty array of reviews to summarize');
  }

  // Check device compatibility
  const { summarizationAvailable, message } = await deviceCheck();

  if (summarizationAvailable) {
    try {
      // Configure and create the summarizer with appropriate parameters
      const summarizer = await Summarizer.create({
        type: 'tl;dr',
        length: 'short',
        sharedContext:
          'Summarize the given user reviews. Maintain a polite and formal tone.',
      });

      // Generate the summary from the joined review texts
      const summary = await summarizer.summarize(reviewContentList.join('. '));

      // Return the generated summary
      return summary;
    } catch (error) {
      // Handle any errors during summarization
      throw new Error(`Summarization failed: ${error.message}`);
    }
  } else {
    // If unavailable, throw an error with the message from deviceCheck
    throw new Error(
      message ||
        'AI summarization tools are not supported on this device or browser.'
    );
  }
};

تحسّن معدل الإحالات الناجحة

منذ أن أصبحت واجهة برمجة التطبيقات Summarizer API متاحة في مرحلة الإنتاج، وجدت Miravia أنّ الملخّصات تؤدّي إلى:

  • زيادة معدّل الإحالات الناجحة بنسبة% 12.4 على صفحات المنتجات
  • زيادة معدّل الإحالات الناجحة بنسبة% 3.3 في جميع أنحاء الموقع الإلكتروني

أفضل الممارسات

إذا كان إدخال المراجعة يتجاوز الحدّ الأقصى للرموز، اتّبِع إجراءات التخفيف التالية:

  • استخدِم عيّنة أصغر (مثل آخر 4 مراجعات) لواجهة برمجة التطبيقات. يساعد ذلك في إنشاء نتائج أسرع. راجِع إرشاداتنا بشأن توسيع نطاق التلخيص من جهة العميل.
  • يقدّم الخطأ QuotaExceededError مزيدًا من المعلومات عن الرموز المطلوبة في الإدخال. يحتوي العنصر summarizer على السمة inputQuota التي تشير إلى الحدّ الأقصى للرموز في واجهة برمجة التطبيقات. يسمح ذلك بتقديم الملاحظات في الوقت الفعلي وإيقاف الوظائف إذا كان الإدخال يتجاوز الحدّ الأقصى.

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

  • استخدمت Miravia نموذجًا من جهة الخادم لتقديم ملخّص أولي أثناء تنزيل النموذج. بعد أن أصبح النموذج المُدمَج جاهزًا، انتقل الموقع الإلكتروني إلى إجراء الاستنتاج من جهة العميل.

يجب دائمًا السعي إلى إنشاء واجهة سهلة الاستخدام وتتسم بالتواصل:

  • يمكنك إعداد شريط تقدّم لعمليات تنزيل النماذج والتخفيف من حالات التأخير في الاستجابة.
  • يمكنك مراعاة الشفافية بشأن تنزيل النموذج. أرسلت Bright Sites إشعارات للمستخدمين بشأن تنزيل النموذج للسماح بالشفافية والموافقة على استخدام الموارد. وبهذه الطريقة، يمكن للمستخدمين قبول أو رفض النموذج قبل المتابعة.

الاستنتاجات والاقتراحات

توضّح هذه الأمثلة الواقعية من redBus وMiravia كيف ساعدت واجهة برمجة التطبيقات Summarizer API المستخدمين في اتّخاذ قرارات مدروسة بسرعة من خلال تقديم ملخّصات موجزة وذات صلة لمراجعات المستخدمين. إنّ قدرة واجهة برمجة التطبيقات على العمل من جهة العميل، بدون تكاليف إضافية للمؤسسة وتعقيد فني منخفض، تجعلها خيارًا قابلاً للتطبيق لحالات الاستخدام المماثلة التي تحتاج إلى تلخيص المعلومات. تتيح جميع واجهات برمجة التطبيقات المُدمَجة والمستنِدة إلى الذكاء الاصطناعي حالات استخدام عملية للذكاء الاصطناعي من جهة العميل.

هل تتساءل عن كيفية مساهمة واجهة برمجة التطبيقات Summarizer API في حالات استخدام أخرى؟ لقد شاركنا أيضًا كيفية زيادة واجهة برمجة التطبيقات Summarizer API لتفاعل المستخدمين مع المقالات.

هل تعمل على إنشاء شيء جديد باستخدام واجهات برمجة التطبيقات هذه؟ يمكنك مشاركته معنا على ‎@ChromiumDev على X أو Chromium for Developers على LinkedIn.

الموارد

الإقرارات

نشكر Makakhov Andrey وZiyi Liang من Miravia (مجموعة Alibaba)، Amit Kumar من redBus، Swetha Gopalakrishnan، Alexandra Klepper، Thomas Steiner وKenji Baheux على المساعدة في كتابة هذا المستند و مراجعته.