Opublikowano: 15 maja 2025 r., ostatnia aktualizacja: 27 maja 2026 r.
Witryny z opiniami użytkowników, takie jak witryny e-commerce czy turystyczne, często zawierają ogromną ilość informacji. Przeglądanie wielu opinii w celu podjęcia decyzji o zakupie może być dla użytkowników czasochłonne. Podsumowania opinii mogą pomóc użytkownikom w zrozumieniu opinii i zaoszczędzeniu czasu.
Dowiedz się, jak redBus i Miravia używają interfejsu Summarizer API, aby ułatwić podejmowanie decyzji i poprawić jakość zakupów. Dodanie przez Miravię podsumowań opinii spowodowało wzrost współczynnika konwersji na stronach produktów i w całej witrynie.
| Wyjaśnienie | Sieć | Rozszerzenia | Stan Chrome | Intencja |
|---|---|---|---|---|
| MDN | Wyświetl | Zamiar wysłania |
Interfejs Summarizer API umożliwia generowanie różnych typów podsumowań o różnej długości i w różnych formatach, np. zdań, akapitów, list punktowanych itp. Ten interfejs API, podobnie jak wiele naszych wbudowanych interfejsów AI API, używa dużych modeli językowych do przeprowadzania wnioskowania. W Chrome jest to model Gemini Nano.
redBus pomaga klientom wybrać najlepszy autobus
redBus to największy przewoźnik autobusowy w Indiach, który ma ponad 30 milionów klientów i świadczy usługi autobusowe w około 10 tys. miast i miasteczek w całym kraju. Na podstawie danych i opinii redBus stwierdził, że opinie użytkowników odgrywają ważną rolę w pomaganiu klientom w wyborze najlepszej trasy i autobusu. redBus otrzymuje dużą liczbę opinii, a każda z nich dotyczy konkretnych punktów i godzin przyjazdu i odjazdu.
Aby pomóc klientom w zrozumieniu najważniejszych informacji dotyczących niektórych miast lub tras, redBus używa interfejsu Summarizer API do prezentowania kluczowych informacji z odpowiednich opinii.
„Interfejs Summarizer API umożliwia tworzenie wysokiej jakości podsumowań na podstawie dużej liczby opinii i permutacji zapytań użytkowników. Ta funkcja po stronie klienta wyeliminowała złożoność techniczną i dodatkowe koszty biznesowe, które byłyby związane z alternatywnym rozwiązaniem po stronie serwera. Jest to dla nas ważne, ponieważ ten przypadek użycia jest częścią ścieżki konwersji”.
– Amit Kumar, starszy menedżer ds. inżynierii, redBus
Szczegółowość opinii przechowywanych w backendzie redBus w połączeniu z ogromną liczbą możliwych permutacji w zapytaniach użytkowników – z uwzględnieniem takich zmiennych jak godziny odjazdu i przyjazdu, konkretny punkt wsiadania w mieście i różni przewoźnicy autobusowi – utrudnia wyróżnienie konkretnych informacji z opinii. Przy takiej ilości danych podsumowanie po stronie serwera dla każdego zapytania byłoby zbyt kosztowne.
Aby generować skuteczne podsumowania, redBus przekazuje do interfejsu Summarizer API oprócz opinii klientów te informacje:
//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.';
Podsumowania ułatwiają klientom podejmowanie decyzji bez dodatkowych kosztów biznesowych i złożoności technicznej. Dodatkowo redBus może personalizować podsumowanie pod kątem preferencji podróżnych zalogowanych użytkowników, np. wygody siedzenia lub dostępności Wi-Fi. Wnioskowanie odbywa się po stronie klienta, co oznacza, że wyszukiwanie i podsumowanie pozostają prywatne dla użytkownika.
Zapoznaj się z krótkim przykładem kodu, który sprawdza dostępność Summarizera, podaje kontekst i pobiera opinie na podstawie zapytania użytkownika.
// 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
}
}
W przypadku przykładowego wyszukiwania trasy z Bangalore do Mangaluru dane wyjściowe Summarizera są następujące:
<Bus Provider X> generalnie otrzymywał pozytywne opinie dotyczące komfortu, czystości i obsługi personelu. Niektórzy użytkownicy mieli drobne problemy, takie jak opóźnienia, nieuprzejmość kierowcy, brak udogodnień (śledzenie na żywo, koce) i dyskomfort (rozmiar siedzenia, słabe amortyzatory).
Ta opinia spełnia wymagane kryteria, a pozytywne i negatywne aspekty są przedstawione w krótkim akapicie, który jest znacznie łatwiejszy do przeczytania niż 308 pojedynczych opinii.
Miravia podsumowuje opinie o e-commerce
Miravia to wiodąca platforma e-commerce w Hiszpanii, z której korzystają miliony aktywnych użytkowników miesięcznie. Gdy użytkownicy filtrują opinie (np. według oceny produktu), generowane jest nowe podsumowanie. Zawiera ono zwięzły przegląd opinii klientów, w którym wyróżniono obawy i rekomendacje.
„Wcześniej, aby zrozumieć kluczowe zalety i wady w opiniach o produktach, użytkownicy musieli przeczytać wiele pojedynczych komentarzy na stronie szczegółów. Aby pomóc użytkownikom w szybkim zrozumieniu ogólnego nastroju klientów, wprowadziliśmy interfejs Summarizer API. To podsumowanie jest dynamicznie aktualizowane, gdy użytkownik filtruje opinie (np. według oceny w gwiazdkach lub innych kryteriów), co zapewnia szybki i kompleksowy przegląd opinii kupujących”.
– Ziyi Liang, starszy inżynier oprogramowania, Miravia
Początkowo funkcja podsumowywania opinii użytkowników w Miravii korzystała z usługi AI po stronie serwera. Okazało się, że Gemini Nano działający po stronie klienta może zapewnić porównywalne wyniki przy jednoczesnym zmniejszeniu kosztów utrzymania. Ta zaleta jest szczególnie widoczna w przypadku popularnych, szybko sprzedających się produktów, których opinie są stale aktualizowane.
Wdrożenie Miravii wymaga pobierania i podsumowywania opinii w czasie rzeczywistym, niezależnie od tego, czy wnioskowanie odbywa się na serwerze czy w przeglądarce. AI po stronie klienta jest znacznie wydajniejsza wraz ze wzrostem częstotliwości. Firma jest zadowolona z ogólnej skuteczności.
Najpierw Miravia sprawdza zgodność funkcji i urządzenia.
// 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.',
};
};
Następnie Miravia podsumowuje dostępne opinie. Opinie są łączone z dodatkowym okresem, aby dane wejściowe były bardziej spójne.
/**
* 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.'
);
}
};
Większa liczba konwersji
Od czasu udostępnienia interfejsu Summarizer API w środowisku produkcyjnym Miravia stwierdziła, że podsumowania prowadzą do:
- 12,4% wzrostu współczynnika konwersji na stronach produktów;
- 3,3% wzrostu współczynnika konwersji w całej witrynie.
Sprawdzone metody
.Jeśli dane wejściowe opinii przekraczają limit tokenów, zastosuj te środki zaradcze:
- Użyj mniejszej próbki (np. 4 najnowszych opinii) w interfejsie API. Pomaga to szybciej generować wyniki. Zapoznaj się z naszymi wskazówkami dotyczącymi skalowania podsumowywania po stronie klienta.
QuotaExceededErrorzawiera więcej informacji o tokenach żądanych w danych wejściowych. Obiektsummarizerma właściwośćinputQuota, która wskazuje limit tokenów interfejsu API. Umożliwia to uzyskiwanie opinii w czasie rzeczywistym i wyłączanie funkcji, jeśli dane wejściowe przekraczają limit.
Aby zapewnić wszystkim użytkownikom płynne działanie, możesz rozważyć podejście hybrydowe. Przy pierwszym wywołaniu wbudowanego interfejsu AI API przeglądarka musi pobrać model.
- Miravia używała modelu po stronie serwera do tworzenia wstępnego podsumowania podczas pobierania modelu. Gdy wbudowany model był gotowy, witryna zaczęła przeprowadzać wnioskowanie po stronie klienta.
Zawsze staraj się tworzyć przyjazny i komunikatywny interfejs:
- Wdróż pasek postępu pobierania modelu i ogranicz opóźnienia w odpowiedzi.
- Rozważ przejrzystość pobierania modelu. Bright Sites informowały użytkowników o pobieraniu modelu, aby zapewnić przejrzystość i zgodę na wykorzystanie zasobów. Dzięki temu użytkownicy mogli zaakceptować lub odrzucić pobieranie przed kontynuowaniem.
Wnioski i rekomendacje
Te rzeczywiste przykłady z redBus i Miravii pokazują, jak interfejs Summarizer API pomógł użytkownikom szybko podejmować świadome decyzje, udostępniając zwięzłe i trafne podsumowania opinii użytkowników. Możliwość działania interfejsu API po stronie klienta bez dodatkowych kosztów biznesowych i przy niskiej złożoności technicznej sprawia, że jest to realna opcja w podobnych przypadkach użycia, w których trzeba podsumować informacje. Wszystkie wbudowane interfejsy AI API umożliwiają praktyczne przypadki użycia AI po stronie klienta.
Zastanawiasz się, jak interfejs Summarizer API może pomóc w innych przypadkach użycia? Udostepniliśmy też informacje o tym, jak interfejs Summarizer API zwiększa zaangażowanie w artykuły.
Tworzysz coś nowego za pomocą tych interfejsów API? Podziel się tym z nami na X na koncie@ChromiumDev lub na LinkedIn na profilu Chromium for Developers.
Zasoby
- Więcej informacji o interfejsie Summarizer API.
- Rozpocznij korzystanie z wbudowanych interfejsów API w Chrome.
- Przeczytaj studium przypadku dotyczące interfejsu Prompt API i wspierania blogerów
- Przeczytaj studium przypadku dotyczące interfejsu Translation and Language Detector API.
- Przeczytaj, jak interfejs Summarizer API pomaga Bright Sites i Terra tworzyć angażujące podsumowania artykułów
Podziękowania
Dziękujemy Makakhovowi Andreyowi i Ziyi Liangowi z Miravii (Alibaba Group), Amitowi Kumarowi z redBus, Swethie Gopalakrishnan, Alexandrze Klepper, Thomasowi Steinerowi i Kenjiemu Baheux za pomoc w napisaniu i sprawdzeniu tego dokumentu.