Опубликовано: 15 мая 2025 г.
Веб-сайты с отзывами пользователей, такие как сайты электронной коммерции или путешествий, часто содержат огромный объем информации. Это может привести к тому, что пользователям придется тратить много времени на просмотр множества отзывов, чтобы принять решение о покупке. Предоставление резюме отзывов может помочь пользователям понять обратную связь и сэкономить время. Узнайте, как redBus и Miravia используют API Summarizer для улучшения процесса принятия решений и покупки.
Объяснитель | Веб | Расширения | Статус Хрома | Намерение |
---|---|---|---|---|
МДН | Вид | Намерение отправить |
API Summarizer позволяет вам генерировать различные типы резюме разной длины и формата, такие как предложения, абзацы, списки маркеров и т. д. Этот API, как и многие из наших встроенных API AI , использует большие языковые модели для выполнения вывода. В Chrome наша модель — Gemini Nano.
redBus помогает клиентам выбрать лучший вариант автобуса
redBus — крупнейший поставщик автобусных перевозок в Индии, имеющий более 30 миллионов клиентов, предоставляющий автобусные услуги примерно в 10 000 городов и поселков, соединенных по всей стране. Благодаря данным и отзывам, redBus понял, что отзывы пользователей играют важную роль в помощи клиентам в определении маршрута и автобуса, которые лучше всего подходят для их потребностей в путешествии. redBus получает большое количество отзывов, и каждый отзыв касается точных пунктов прибытия и отправления, а также времени.
Чтобы помочь клиентам получить общее представление об определенных городах или маршрутах, они используют API Summarizer для представления ключевых сведений из соответствующих обзоров.
«API Summarizer смог создать качественные сводки из большого количества наших обзоров и перестановок поисковых запросов пользователей. Эта клиентская функция устранила техническую сложность и дополнительные бизнес-расходы, которые присутствовали бы для серверной альтернативы. Это важно для нас, поскольку этот вариант использования является частью воронки конверсии».
— Амит Кумар, старший технический менеджер, redBus
Детализация отзывов, хранящихся на бэкенде redBus, в сочетании с огромным количеством возможных перестановок в поисковых запросах пользователей — с такими переменными, как время отправления и прибытия, конкретная точка посадки в городе и различные операторы автобусов — затрудняет выделение конкретных идей из отзывов. При таком объеме данных сводка на стороне сервера для каждого поискового запроса будет стоить непомерно дорого.
Для создания эффективных сводок redBus предоставляет API Summarizer следующий контекст в дополнение к отзывам клиентов:
//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
}
}
В примере поиска от Бангалора до Мангалуру вывод сумматора выглядит следующим образом:
<Bus Provider X>
в целом получил положительные отзывы за комфорт, чистоту и обслуживание персонала. Некоторые столкнулись с незначительными проблемами, такими как задержки, поведение водителя (грубое), отсутствие удобств (отслеживание в реальном времени, одеяла) и дискомфорт (размер сиденья, плохие амортизаторы).
Этот обзор соответствует требуемым требованиям, положительные и отрицательные стороны изложены в одном коротком абзаце, что намного легче читать, чем 308 имеющихся отдельных обзоров.
Miravia суммировала обзоры электронной коммерции
Miravia — ведущая платформа электронной коммерции в Испании с миллионами активных пользователей в месяц. Всякий раз, когда пользователи фильтруют отзывы (например, по рейтингу продукта), генерируется новое резюме. Это дает краткий обзор отзывов клиентов, выделяя проблемы и рекомендации.
«Раньше, чтобы понять основные плюсы и минусы в обзорах продуктов, пользователям требовалось прочитать множество отдельных комментариев на странице с подробностями. Чтобы помочь пользователям быстро понять общее настроение клиентов, мы внедрили API Summarizer. Это резюме динамически обновляется всякий раз, когда пользователь фильтрует обзоры (например, по рейтингу или другим критериям), предоставляя быстрый и полный обзор соответствующих отзывов покупателей».
— Цзыи Лян, старший инженер-программист, 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 отзыва) для API. Это помогает быстрее получать результаты. Ознакомьтесь с нашим руководством по масштабированию клиентского резюмирования .
-
QuotaExceededError
предоставляет больше информации о запрошенных токенах во входных данных. Объектsummarizer
имеет свойствоinputQuota
, которое указывает предел токенов API. Это позволяет получать обратную связь в реальном времени и отключать функциональность, если входные данные превышают предел.
Вы можете рассмотреть гибридный подход, чтобы обеспечить бесперебойный опыт для всех пользователей. При первом вызове встроенного API AI браузер должен загрузить модель.
- Miravia использовала серверную модель для предоставления первоначального резюме, пока модель загружалась. После того, как встроенная модель была готова, сайт переключился на выполнение вывода на стороне клиента.
Всегда следует стремиться к созданию дружелюбного и коммуникативного интерфейса:
- Реализуйте индикатор выполнения загрузки моделей и сократите задержки ответов.
- Рассмотрите прозрачность загрузки модели. Bright Sites уведомил пользователей о загрузке модели, чтобы обеспечить прозрачность и согласие на использование ресурсов. Таким образом, пользователи могли принять или отклонить, прежде чем продолжить.
Выводы и рекомендации
Эти реальные примеры от redBus и Miravia демонстрируют, как API Summarizer помогает пользователям быстро принимать обоснованные решения, предоставляя краткие, релевантные резюме отзывов пользователей. Способность API работать на стороне клиента без дополнительных бизнес-затрат и низкая техническая сложность делают его жизнеспособным вариантом для аналогичных случаев использования, когда необходимо суммировать информацию. Все встроенные API ИИ позволяют реализовать практические случаи использования ИИ на стороне клиента.
Хотите узнать, как API Summarizer может помочь в других вариантах использования? Мы также рассказали, как API Summarizer помогает повысить вовлеченность статей .
Вы создаете что-то новое с помощью этих API? Поделитесь этим с нами на @ChromiumDev on X или Chromium for Developers на LinkedIn .
Ресурсы
- Узнайте больше о API Summarizer .
- Начните использовать встроенные API в Chrome .
- Ознакомьтесь с практическим примером использования API Prompt для расширения возможностей блогеров .
- Ознакомьтесь с практическим примером использования инструмента «Определитель перевода и языка» .
- Узнайте, как API Summarizer помогает компаниям Bright Sites и Terra создавать увлекательные резюме статей.
Благодарности
Выражаем благодарность Андрею Макахову и Цзыи Лян из Miravia (Alibaba Group), Амиту Кумару из redBus, Свете Гопалакришнан , Александре Клеппер , Томасу Штайнеру и Кенджи Бахе за помощь в написании и рецензировании этого документа.