تاريخ النشر: 15 أيار (مايو) 2025
غالبًا ما تتضمّن المواقع الإلكترونية التي تتضمّن مراجعات المستخدمين، مثل مواقع التجارة الإلكترونية أو مواقع السفر، حجمًا كبيرًا من المعلومات. وقد يستغرق الأمر وقتًا طويلاً على المستخدمين فحص العديد من المراجعات لاتخاذ قرار الشراء. يمكن أن يساعد تقديم ملخّصات المراجعات في مساعدة المستخدمين على فهم الملاحظات وتوفير الوقت. تعرَّف على كيفية استخدام redBus وMiravia واجهة برمجة التطبيقات Summarizer API لتحسين عملية اتخاذ القرار وتجربة الشراء.
الشرح | الويب | الإضافات | حالة Chrome | النيّة بالشراء |
---|---|---|---|---|
MDN | العرض | Intent to Ship (نية الشحن) |
تتيح لك واجهة برمجة التطبيقات Summarizer API إنشاء أنواع مختلفة من الملخصات بأشكال وطول مختلفَين، مثل الجمل والفقرات قوائم النقاط المميّزة وغير ذلك. تستخدِم واجهة برمجة التطبيقات هذه، مثل العديد من واجهات برمجة تطبيقات الذكاء الاصطناعي المضمّنة، نماذج لغوية كبيرة لإجراء استنتاج. في Chrome، يكون النموذج هو Gemini Nano.
تساعد شركة redBus العملاء في اختيار أفضل خيار للحافلة
redBus هي أكبر مقدّم خدمات الحافلات في الهند، وتضم أكثر من 30 مليون عميل، ويقدّم خدمات الحافلات في 10,000 مدينة وبلدة تقريبًا على مستوى البلاد. من خلال البيانات والملاحظات، لاحظ فريق redBus أنّ المراجعات التي ينشرها المستخدمون تلعب دورًا مهمًا في مساعدة العملاء على تحديد المسار والحافلة الأنسب لاحتياجات سفرهم. تتلقّى redBus عددًا كبيرًا من المراجعات، وتتناول كل مراجعة نقاط المغادرة والوصول بالضبط والوقت المحدد.
لمساعدة العملاء في التعرّف على مستوى عالي على بعض المدن أو المسارات، يستخدمون واجهة برمجة التطبيقات Summarizer API لعرض إحصاءات رئيسية من المراجعات ذات الصلة.
"تمكّنت 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 ، وذلك للمستخدمين الذين سجّلوا الدخول. الاستنتاج من جهة العميل، ما يعني أنّ عملية البحث والملخّص تبقى خاصة بالمستخدم.
اطّلِع على نموذج رمز قصير يتحقّق من توفّر "الملخّص" ويقدّم سياقًا ويسترجع المراجعات استنادًا إلى طلب بحث المستخدم.
// 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
}
}
في ما يلي مثال على طلب البحث من بنغالور إلى مانغالور، وتكون نتيجة التلخيص على النحو التالي:
تلقّى <Bus Provider X>
بشكل عام مراجعات إيجابية بشأن الراحة والنظافة وخدمة الموظفين. واجه بعض العملاء مشاكل بسيطة، مثل التأخيرات وسلوك السائق (غير المهذَّب) ونقص وسائل الراحة (التتبّع المباشر والبطانيات) وعدم الراحة (حجم المقاعد وضعف ممتصات الصدمات).
تستوفي هذه المراجعة المتطلبات المطلوبة، وتوضّح الإيجابيات والسلبيات في فقرة قصيرة واحدة، ما يسهّل قراءتها أكثر من المراجعات الفردية المتوفّرة التي يبلغ عددها 308 مراجعة.
مراجعات ملخّصة للتجارة الإلكترونية في Miravia
Miravia هي منصة رائدة للتجارة الإلكترونية في إسبانيا، وتضمّ ملايين مستخدمين نشطين شهريًا. عندما يفرِّط المستخدمون المراجعات (على سبيل المثال، حسب تقييم المنتج)، يتم إنشاء summary جديد. يوفّر هذا التقرير نظرة عامة موجزة على ملاحظات العميل، مع تسليط الضوء على المخاوف والاقتراحات.
"في السابق، كان على المستخدمين قراءة العديد من التعليقات الفردية في صفحة التفاصيل للتعرّف على الإيجابيات والسلبيات الرئيسية في مراجعات المنتجات. لمساعدة المستخدمين في فهم شعور العملاء العام بسرعة، أطلقنا واجهة برمجة التطبيقات Summarizer API. يتم تعديل هذا الملخّص ديناميكيًا كلما فلتر المستخدم المراجعات (مثلاً حسب التقييم بالنجوم أو معايير أخرى)، ما يقدّم نظرة عامة سريعة وشاملة على ملاحظات المشترين ذات الصلة.
— "زيي ليان"، كبير مهندسي البرامج في Miravia
في البداية، كانت ميزة تلخيص مراجعات المستخدمين في Miravia تعتمد على خدمة الذكاء الاصطناعي من جهة الخادم. وتبيّن لهم أنّ Gemini Nano الذي يستخدم الذكاء الاصطناعي من جهة العميل يمكنه تقديم نتائج مماثلة، مع خفض تكاليف الصيانة. وتظهر هذه الميزة بوضوح خاص للمنتجات الرائجة التي تُباع بسرعة والتي يتم تعديل مراجعاتها باستمرار.
على الرغم من أنّ تنفيذ 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 summarization is not available, throw an error with the message from deviceCheck
throw new Error(
message ||
'AI summarization tools are not supported on this device or browser.'
);
}
};
أفضل الممارسات
إذا تجاوزت بيانات المراجعة الحد الأقصى للرمز المميّز، اتّبِع الإجراءات التالية للحدّ من هذا الخطأ:
- استخدِم عيّنة أصغر (مثل آخر 4 مراجعات) في واجهة برمجة التطبيقات. ويساعد ذلك في توليد نتائج أسرع. يُرجى الرجوع إلى إرشاداتنا حول توسيع نطاق استخدام ميزة "التلخيص من جهة العميل".
- يوفّر
QuotaExceededError
مزيدًا من المعلومات عن الرموز المميّزة المطلوبة في الإدخال. يحتوي عنصرsummarizer
على سمةinputQuota
التي تشير إلى الحد الأقصى للرمز المميّز لواجهة برمجة التطبيقات. يتيح ذلك تقديم ملاحظات في الوقت الفعلي و إيقاف الوظيفة إذا تجاوز الإدخال الحدّ الأقصى.
ننصحك باستخدام نهج مختلط لضمان توفير تجربة سلسة لجميع المستخدمين. في المرة الأولى التي يتم فيها استدعاء واجهة برمجة تطبيقات الذكاء الاصطناعي المضمّنة، يجب أن يقوم المتصفّح بتنزيل النموذج.
- استخدمت Miravia نموذجًا من جهة الخادم لتقديم ملخّص أوّلي أثناء تنزيل النموذج. بعد أن أصبح النموذج المضمّن جاهزًا، غيّر الموقع الإلكتروني الاستنتاج إلى جهة العميل.
يجب دائمًا أن تسعى جاهدًا لإنشاء واجهة ودية وسهلة الاستخدام:
- أدرِج شريط تقدّم لعمليات تنزيل النماذج والحدّ من تأخّر ظهور الردود.
- يجب أن تكون شفافيًا بشأن تنزيل النماذج. أرسلت Bright Sites إشعارًا إلى المستخدمين بشأن تنزيل النموذج للسماح بالشفافية والحصول على موافقة بشأن استخدام مواردهم. بهذه الطريقة، يمكن للمستخدمين الموافقة أو الرفض قبل المتابعة.
الاستنتاجات والاقتراحات
توضِّح هذه الأمثلة الواقعية من redBus وMiravia كيف ساعدت واجهة برمجة التطبيقات Summarizer المستخدمين في اتخاذ قرارات مدروسة بسرعة من خلال تقديم ملخّصات موجزة وملائمة لمراجعات المستخدمين. إنّ قدرة واجهة برمجة التطبيقات على العمل من جهة العميل بدون تكاليف إضافية للنشاط التجاري وبدون تعقيدات فنية منخفضة تجعلها خيارًا متاحًا لحالات الاستخدام المشابهة التي يجب فيها تلخيص المعلومات. تتيح جميع واجهات برمجة التطبيقات المُدمَجة لتكنولوجيات الذكاء الاصطناعي حالات استخدام عملية للذكاء الاصطناعي من جهة العميل.
هل لديك سؤال عن كيفية مساعدة Summarizer API في حالات الاستخدام الأخرى؟ لقد شاركنا أيضًا كيفية مساعدة Summarizer API في زيادة التفاعل مع المقالات.
هل تنشئ شيئًا جديدًا باستخدام واجهات برمجة التطبيقات هذه؟ يمكنك مشاركتها معنا على @ChromiumDev على X أو Chromium للمطوّرين على LinkedIn.
الموارد
- مزيد من المعلومات حول Summarizer API
- بدء استخدام واجهات برمجة التطبيقات المدمَجة على Chrome
- يمكنك الاطّلاع على دراسة حالة Prompt API حول تمكين المدوّنين.
- اطّلِع على دراسة حالة "الترجمة وبرنامج رصد اللغة".
- اطّلِع على كيفية مساعدة Summarizer API في Bright Sites وTerra على إنشاء ملخصات مقالات جذابة.
الشكر والتقدير
نشكر Makakhov Andrey وZiyi Liang من Miravia (مجموعة Alibaba)، Amit Kumar من redBus، Swetha Gopalakrishnan، Alexandra Klepper، Thomas Steiner وKenji Baheux على المساعدة في كتابة ومراجعة هذا المستند.