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. Przeszukiwanie 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. Dzięki dodaniu podsumowań opinii przez Miravię zwiększył się współczynnik 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.
redBus pomaga klientom wybrać najlepszy autobus
redBus to największy przewoźnik autobusowy w Indiach, który obsługuje 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 generowane przez użytkowników odgrywają ważną rolę w pomaganiu klientom w wyborze trasy i autobusu, który najlepiej odpowiada ich potrzebom podróżniczym. 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ń wyszukiwania 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 alternatywą po stronie serwera. Jest to dla nas ważne, ponieważ ten przypadek użycia jest częścią ścieżki konwersji”.
– Amit Kumar, Senior Engineering Manager, redBus
Szczegółowość opinii przechowywanych w backendzie redBus w połączeniu z ogromną liczbą możliwych permutacji w zapytaniach wyszukiwania 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 wyszukiwania 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óżniczych zalogowanych użytkowników, np. wygody siedzenia lub dostępności Wi-Fi. Wnioskowanie po stronie klienta oznacza, że to wyszukiwanie i podsumowanie pozostaje 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 wyszukiwania 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 z Bangalore do Mangaluru dane wyjściowe Summarizera są takie:
<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, zachowanie kierowcy (niegrzeczne), 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ą opisane 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 poznać 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, Senior Software Engineer, Miravia
Początkowo funkcja podsumowywania opinii użytkowników w Miravii korzystała z usługi AI po stronie serwera. Okazało się, że uruchamianie AI 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łynną obsługę, 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 generowania 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 (@ChromiumDev) lub LinkedIn (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 Andriejowi 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.