Data publikacji: 15 maja 2025 r.
Witryny z opiniami użytkowników, np. witryny e-commerce lub podróżnicze, często zawierają ogromną ilość informacji. Może to sprawić, że użytkownicy będą musieli poświęcić dużo czasu na zapoznanie się z wieloma opiniami, zanim zdecydują się na zakup. Podsumowania opinii mogą pomóc użytkownikom zrozumieć opinie i zaoszczędzić czas. Dowiedz się, jak redBus i Miravia używają interfejsu Summarizer API, aby ulepszyć proces podejmowania decyzji i zakupów.
Objaśnienie | Sieć | Rozszerzenia | Stan Chrome | Intencja |
---|---|---|---|---|
MDN | Wyświetl | Intencja dostawy |
Interfejs Summarizer API umożliwia generowanie różnych typów streszczeń o zróżnicowanej długości i formatach, np. zdań, akapitów, list wypunktowanych itp. Ten interfejs API, podobnie jak wiele naszych wbudowanych interfejsów API AI, korzysta z dużych modeli językowych do wykonywania wnioskowania. W Chrome używamy modelu Gemini Nano.
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 oferuje usługi autobusowe w około 10 tys. miast i miasteczek w całym kraju. Na podstawie danych i opinii redBus doszedł do wniosku, że opinie użytkowników pomagają klientom w określaniu, która trasa i który autobus najlepiej odpowiada ich potrzebom. redBus otrzymuje dużą liczbę opinii, a każda z nich dotyczy konkretnego miejsca docelowego i odjazdu oraz czasu.
Aby pomóc klientom w ogólnym poznaniu informacji o określonych miastach lub trasach, firma używa interfejsu Summarizer API do prezentowania najważniejszych statystyk z odpowiednich opinii.
„Interfejs Summarizer API był w stanie tworzyć wysokiej jakości podsumowania na podstawie dużej liczby opinii i wariacji zapytań wyszukiwanych przez 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, starszy menedżer ds. inżynierii, redBus
Szczegółowość opinii przechowywanych w systemie redBusa w połączeniu z ogromną liczbą możliwych permutacji w zapytaniach wyszukiwanych przez użytkowników (z uwzględnieniem takich zmiennych jak czasy odjazdu i przyjazdu, konkretny punkt wsiadania w mieście i różni operatorzy autobusów) sprawia, że trudno jest wyróżnić konkretne statystyki z opinii. Przy tak dużej ilości danych podsumowanie po stronie serwera dla każdego zapytania wyszukiwania byłoby bardzo kosztowne.
Aby wygenerować skuteczne podsumowania, redBus przekazuje interfejsowi Summarizer API następujący kontekst oprócz opinii klientów:
//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 i złożoności technicznej. Dodatkowo redBus może spersonalizować podsumowanie pod kątem preferencji podróży zalogowanych użytkowników, takich jak komfort siedzenia czy dostępność Wi-Fi. wnioskowanie po stronie klienta, co oznacza, że wyszukiwanie i podsumowanie pozostają prywatne dla użytkownika.
Oto krótki przykład 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 wyszukiwania Bangalore–Mangalore dane wyjściowe funkcji podsumowującej wyglądają tak:
<Bus Provider X>
otrzymał ogólnie pozytywne opinie dotyczące wygody, czystości i obsługi. Niektórzy klienci mieli drobne problemy, takie jak opóźnienia, zachowanie kierowcy (nieuprzejmność), brak udogodnień (śledzenie na żywo, koce) i niedogodności (rozmiar siedzenia, słabe amortyzatory).
Ta opinia spełnia wymagania, ponieważ zawiera pozytywne i negatywne aspekty w jednym krótkim akapicie, który jest znacznie łatwiejszy do przeczytania niż 308 dostępnych indywidualnych opinii.
Podsumowanie opinii e-commerce z Miravia
Miravia to wiodąca platforma e-commerce w Hiszpanii, która ma miliony aktywnych użytkowników miesięcznie. Za każdym razem, gdy użytkownicy filtrują opinie (np. według oceny produktu), generowane jest nowe podsumowanie. Zawiera on krótkie omówienie opinii klientów, ze szczególnym uwzględnieniem ich obaw i rekomendacji.
„Wcześniej, aby poznać najważniejsze zalety i wady w opiniach o produktach, użytkownicy musieli przeczytać liczne komentarze na stronie z informacjami. Aby pomóc użytkownikom szybko poznać ogólne nastawienie klientów, wprowadziliśmy interfejs Summarizer API. To podsumowanie jest aktualizowane dynamicznie, gdy użytkownik filtruje opinie (np. według oceny w gwiazdkach lub innych kryteriów), co zapewnia szybki i pełny przegląd odpowiednich opinii kupujących”.
– Ziyi Liang, Senior Software Engineer, Miravia
Początkowo funkcja podsumowywania opinii użytkowników w Miravia polegała na użyciu usługi AI po stronie serwera. Okazało się, że Gemini Nano z AI po stronie klienta może przynosić porównywalne wyniki przy niższych kosztach utrzymania. Ta zaleta jest szczególnie widoczna w przypadku popularnych produktów, które szybko się sprzedają i których opinie są stale aktualizowane.
Chociaż implementacja Miravia 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. Są zadowoleni z ogólnej skuteczności kampanii.
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 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.'
);
}
};
Sprawdzone metody
Jeśli dane wejściowe opinii przekraczają limit tokenów, wykonaj te czynności:
- Użyj mniejszej próbki (np. 4 najnowszych opinii) w interfejsie API. Pomoże to uzyskać szybsze wyniki. Zapoznaj się ze wskazówkami dotyczącymi skalowania podsumowywania po stronie klienta.
QuotaExceededError
zawiera więcej informacji o żądanych tokenach w danych wejściowych. Obiektsummarizer
ma właściwośćinputQuota
, która wskazuje limit tokenów interfejsu API. Umożliwia to wyświetlanie informacji zwrotnych w czasie rzeczywistym i wyłączanie funkcji, jeśli dane wejściowe przekraczają limit.
Aby zapewnić wszystkim użytkownikom płynne korzystanie z usługi, możesz rozważyć podejście hybrydowe. Podczas pierwszego wywołania wbudowanego interfejsu API AI przeglądarka musi pobrać model.
- Miravia używała modelu po stronie serwera, aby wyświetlić wstępne podsumowanie, podczas gdy model był pobierany. Gdy wbudowany model był już gotowy, strona zaczęła wykonywać wnioskowanie po stronie klienta.
Zawsze staraj się tworzyć przyjazne i łatwe w użyciu interfejsy:
- Wdróż pasek postępu do pobierania modeli i zmniejszania opóźnień odpowiedzi.
- Zadbaj o przejrzystość dotyczącą pobierania modelu. Bright Sites powiadomiło użytkowników o pobieraniu modelu w celu zapewnienia przejrzystości i uzyskania zgody na wykorzystanie zasobów. Dzięki temu użytkownicy mogliby zaakceptować lub odrzucić prośbę przed kontynuacją.
Wnioski i rekomendacje
Te przykłady z życia wziętych z redBus i Miravia pokazują, jak interfejs Summarizer API pomaga użytkownikom szybko podejmować świadome decyzje dzięki dostarczaniu zwięzłych i trafnych podsumowań opinii użytkowników. Interfejs API może działać po stronie klienta bez dodatkowych kosztów biznesowych i z niewielką złożonością techniczną, co czyni go odpowiednim rozwiązaniem w przypadku podobnych zastosowań, w których informacje muszą być podsumowywane. Wszystkie wbudowane interfejsy AI API umożliwiają praktyczne przypadki użycia AI po stronie klienta.
Zastanawiasz się, jak interfejs Summarizer API może Ci pomóc w innych zastosowaniach? Omówiliśmy też, jak interfejs Summarizer API pomaga zwiększać zaangażowanie użytkowników w artykuły.
Czy tworzysz coś nowego za pomocą tych interfejsów API? Podziel się z nami swoimi spostrzeżeniami na @ChromiumDev na X lub na profilu Chromium for Developers na LinkedIn.
Zasoby
- Więcej informacji o interfejsie Summarizer API
- Zacznij korzystać z wbudowanych interfejsów API w Chrome
- Przeczytaj studium przypadku interfejsu Prompt API dotyczącego wspierania blogerów.
- Przeczytaj studium przypadku dotyczącego tłumaczenia i wykrywania języka.
- Dowiedz się, jak interfejs Summarizer API pomaga Bright Sites i Terra tworzyć atrakcyjne podsumowania artykułów
Podziękowania
Dziękujemy Makakhovi Andreyowi i Ziyi Liang z Miravia (Alibaba Group), Amitowi Kumarowi z redBus, Swetha Gopalakrishnanowi, Alexandrze Klepper, Thomasowi Steinerowi i Kenji Baheux za pomoc w sporządzeniu i przeglądnięciu tego dokumentu.