תאריך פרסום: 15 במאי 2025
באתרים עם ביקורות של משתמשים, כמו אתרי מסחר אלקטרוני או אתרי נסיעות, יש בדרך כלל כמות עצומה של מידע. לכן, יכול להיות שייקח למשתמשים זמן רב לעבור על הרבה ביקורות כדי להחליט אם לבצע רכישה. סיכומי ביקורות יכולים לעזור למשתמשים להבין את המשוב ולחסוך זמן. איך redBus ו-Miravia משתמשים ב-Summarizer API כדי לשפר את תהליך קבלת ההחלטות וחוויית הרכישה
הסבר | פיתוח אתרים | תוספים | סטטוס Chrome | כוונת רכישה |
---|---|---|---|---|
MDN | תצוגה | כוונת משלוח |
באמצעות Summarizer API אפשר ליצור סוגים שונים של סיכומים באורכים ובפורמטים שונים, כמו משפטים, פסקאות, רשימות של נקודות ועוד. ממשק ה-API הזה, כמו רבים מממשקי ה-API המובנים של ה-AI, משתמש במודלים גדולים של שפה (LLM) כדי לבצע הסקת מסקנות. ב-Chrome, המודל שלנו הוא Gemini Nano.
redBus עוזרת ללקוחות להחליט איזו אפשרות נסיעה באוטובוס הכי מתאימה להם
redBus היא ספקית האוטובוסים הגדולה ביותר בהודו, עם יותר מ-30 מיליון לקוחות. החברה מספקת שירותי אוטובוסים בכ-10,000 ערים ועיירות ברחבי המדינה. על סמך נתונים ומשוב, ב-redBus הבינו שביקורות שנוצרו על ידי משתמשים ממלאות תפקיד חשוב בסיוע ללקוחות לקבוע איזה מסלול ואילו אוטובוסים מתאימים לצורכי הנסיעה שלהם. ב-redBus מקבלים כמות גדולה של ביקורות, וכל ביקורת ספציפית לנקודות ולזמני ההגעה והיציאה המדויקים.
כדי לעזור ללקוחות להבין את המצב ברמה גבוהה בערים או במסלולים מסוימים, הם משתמשים ב-Summarizer API כדי להציג תובנות מרכזיות מביקורות רלוונטיות.
"Summarizer API הצליח ליצור סיכומים איכותיים ממספר גדול של ביקורות ומהמגוון הרחב של שאילתות החיפוש של המשתמשים. התכונה הזו מצד הלקוח מאפשרת להימנע מהמורכבות הטכנית ומהעלות העסקית הנוספת שיהיו נדרשים לחלופה בצד השרת. זה חשוב לנו כי התרחיש הזה הוא חלק ממשפך ההמרות".
— אמיט קומאר (Amit Kumar), מנהל תוכנה בכיר, 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 היא פלטפורמת מסחר אלקטרוני מובילה בספרד, עם מיליוני משתמשים פעילים בחודש. בכל פעם שמשתמשים מסננים ביקורות (לדוגמה, לפי דירוג המוצר), נוצר סיכום חדש. הדוח הזה מספק סקירה כללית תמציתית של המשוב מהלקוחות, עם דגש על בעיות והמלצות.
"בעבר, כדי להבין את היתרונות והחסרונות העיקריים של המוצרים, המשתמשים היו צריכים לקרוא המון תגובות נפרדות בדף הפרטים. כדי לעזור למשתמשים להבין במהירות את מצב הרוח הכללי של הלקוחות, השקנו את Summarizer API. הסיכום הזה מתעדכן באופן דינמי בכל פעם שמשתמש מסנן את הביקורות (למשל, לפי דירוג כוכבים או לפי קריטריונים אחרים), ומספק סקירה כללית מהירה ומקיפה של המשוב הרלוונטי מהקונים".
– Ziyi Liang, מהנדס תוכנה בכיר, Miravia
בהתחלה, התכונה של Miravia לסיכום ביקורות של משתמשים התבססה על שירות AI בצד השרת. הם גילו ש-Gemini Nano עם AI בצד הלקוח יכול לספק תוצאות דומות, עם הפחתה בעלויות התחזוקה. היתרון הזה בולט במיוחד בפריטים פופולריים שנמכרים במהירות, והביקורות עליהם מתעדכנות כל הזמן.
ההטמעה של Miravia דורשת אחזור של ביקורות וסיכומים בזמן אמת, בין שההסקה מתרחשת בשרת ובין שהיא מתרחשת בדפדפן. עם זאת, ככל שהתדירות עולה, ה-AI בצד הלקוח יעיל יותר באופן משמעותי. הם מרוצים מהביצועים הכוללים שלו.
קודם כול, 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 הביקורות האחרונות) ב-API. כך תוכלו לקבל תוצאות מהר יותר. כדאי לעיין בהנחיות שלנו בנושא שינוי קנה המידה של סיכום בצד הלקוח.
- השדה
QuotaExceededError
מספק מידע נוסף על האסימונים המבוקשים בקלט. לאובייקטsummarizer
יש מאפייןinputQuota
שמציין את מגבלת האסימונים של ה-API. כך אפשר לקבל משוב בזמן אמת ולהשבית את הפונקציונליות אם הקלט חורג מהמגבלה.
מומלץ לשקול גישה משולבת כדי להבטיח חוויה חלקה לכל המשתמשים. בפעם הראשונה שמפעילים ממשק API מובנה של AI, הדפדפן צריך להוריד את המודל.
- ב-Miravia השתמשו במודל בצד השרת כדי לספק סיכום ראשוני בזמן ההורדה של המודל. אחרי שהמודל המובנה היה מוכן, האתר עבר לביצוע היסק מצד הלקוח.
תמיד כדאי לשאוף ליצור ממשק ידידותי ומקצועי:
- הטמעת סרגל התקדמות להורדות של מודלים כדי לצמצם את עיכובי התשובות.
- כדאי להציג שקיפות לגבי הורדת המודל. Bright Sites הודיעה למשתמשים על הורדת המודל כדי לשמור על שקיפות ולקבל הסכמה לשימוש במשאבים. כך המשתמשים יוכלו לאשר או לדחות את הבקשה לפני שהם ממשיכים.
מסקנות והמלצות
הדוגמאות מהעולם האמיתי של redBus ו-Miravia מראות איך ממשק ה-API של Summarizer עזר למשתמשים לקבל החלטות מושכלות במהירות על ידי מתן סיכומים תמציתיים ורלוונטיים של ביקורות של משתמשים. היכולת של ה-API לפעול בצד הלקוח, ללא עלות עסקית נוספת ומורכבות טכנית נמוכה, הופכת אותו לאפשרות קיימת לתרחישי שימוש דומים שבהם צריך לסכם מידע. כל ממשקי ה-API המובנים של AI מאפשרים תרחישים שימוש מעשיים של AI בצד הלקוח.
רוצים לדעת איך Summarizer API יכול לעזור בתרחישי שימוש אחרים? שיתפת גם איך Summarizer API עוזר להגביר את ההתעניינות במאמרים.
אתם מפתחים משהו חדש באמצעות ממשקי ה-API האלה? אתם יכולים לשלוח לנו את הדיווח דרך @ChromiumDev ב-X או דרך Chromium למפתחים ב-LinkedIn.
משאבים
- מידע נוסף על Summarizer API
- מתחילים להשתמש בממשקי 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 על העזרה בכתיבה ובבדיקה של המסמך הזה.