Data publikacji: 15 maja 2025 r.
Odbiorcy polegają na wydawcach wiadomości, którzy informują ich o wydarzeniach lokalnych, krajowych i międzynarodowych, a także dzielą się swoimi przemyśleniami. W dzisiejszym szybkim tempie życia podsumowania artykułów są kluczową strategią kondensowania złożonych informacji w przystępne fragmenty, zachęcając czytelników do dalszego zgłębiania tematu. Dowiedz się, jak Bright Sites i Terra stosują tę strategię za pomocą interfejsu Summarizer API.
| Wyjaśnienie | Sieć | Rozszerzenia | Stan Chrome | Intencja |
|---|---|---|---|---|
| MDN | Wyświetl | Zamiar wysłania |
Interfejs Summarizer API umożliwia generowanie różnych typów streszczeń o różnej długości i w różnych formatach, np. w postaci zdań, akapitów, list punktowanych itp. Ten interfejs API, podobnie jak wiele wbudowanych interfejsów API AI, wykorzystuje duże modele językowe do przeprowadzania wnioskowania.
Bright Sites dodaje spersonalizowane podsumowania artykułów do The Standard
Bright Sites to wiodąca platforma do publikowania wiadomości Flow, która obsługuje ponad 150 publikacji. Dzięki zintegrowaniu interfejsu Summarizer API z platformą CMS opartą na AI firma Bright Sites umożliwia The Standard, kultowej londyńskiej marce informacyjnej, oferowanie czytelnikom spersonalizowanych podsumowań artykułów. Zachęca to użytkowników do czytania artykułów i przechodzenia do innych artykułów w The Standard.
„Współpraca z najnowocześniejszymi modelami Gemini w Chrome łączy 198-letnie doświadczenie The Standard w informowaniu czytelników z nowymi innowacjami technicznymi, które są przydatne dla naszych zapracowanych odbiorców, którzy cenią sobie dostęp do naszego zaufanego dziennikarstwa. Umożliwienie czytelnikom szybkiego sprawdzania wiadomości za pomocą podsumowań tworzonych na ich urządzeniach to tylko jeden ze sposobów, w jaki zmieniamy „The Standard” i tworzymy nowe produkty dla czytelników, dostosowane do ich cyfrowych nawyków”.
– Jack Riley, dyrektor ds. cyfrowych, The Standard
Dzięki oferowaniu podsumowań opartych na AI po stronie klienta firma The Standard mogła generować spersonalizowane podsumowania bez ponoszenia dodatkowych kosztów. Dzięki temu użytkownicy mogliby kontynuować czytanie nawet po utracie dostępu do internetu. Jest to częste zjawisko w przypadku wielu użytkowników, którzy podróżują metrem w Londynie z laptopem.
Najpierw sprawdzają, czy model i interfejs API są obsługiwane i dostępne.
// Check if the device supports built-in AI
// Trigger the model download if not yet available, on capable devices
export const deviceCheck = async () => {
const availability = await Summarizer.availability();
if (!availability || availability === 'unavailable') {
return {
summarizationAvailable: false,
message:
"AI summarization tools are not supported on this device" +
"or the appropriate permissions are not set.",
}
}
if (availability === 'downloadable') {
const shouldDownload = window.confirm(
`This page contains an AI summary, using an AI model provided by your
browser. Downloading the model, which could be multiple gigabytes in size,
is required to view the summary. Would you like to download the model?`);
if (!shouldDownload) {
return {
summarizationAvailable: false,
message: "User declined installation.",
}
}
// Trigger an installation
Summarizer.create();
return {
summarizationAvailable: false,
message: "Installing in the background. This may take a few minutes...",
}
}
if (availability === 'available') {
return {
summarizationAvailable: true,
message: "Ready for use.",
}
}
}
Poniższa funkcja definiuje ogólny moduł podsumowujący, który w przyszłości może korzystać z innego modelu na urządzeniu lub modelu po stronie serwera.
/**
* Define the summarizer.
**/
export const aiSummarize = async (textToSummarize, options) => {
const availableSummarizationTools = getAvailableAiSummarizationTools()
if (availableSummarizationTools.has('builtInAi') && options?.builtInAI) {
// Generate the built-in AI summarizer and abort signal
const summarizer = await createBuiltInAISummarizer(options.builtInAi.options)
return await summarizer.summarize(textToSummarize, {
signal: options.builtInAi.signal,
})
}
throw new Error(
'AI summarization tools are not supported on this device or browser.',
)
}
Standard zapisuje preferencje czytelników dotyczące podsumowania w IndexedDB, aby oferować spersonalizowane podsumowanie.
/**
* Log preferences in IndexDB for personalization
**/
abortController.current = new AbortController()
const preferencesDB = new PreferencesDB()
const summarization = await aiSummarize(articleContent, {
clientSideAI: {
options: await preferencesDB.getCreatesummarizerPreferences(),
signal: abortController.current.signal,
},
})
Terra udostępnia dziennikarzom edytowalne podsumowanie artykułów w języku portugalskim
Terra to jeden z największych portali z treściami w Brazylii, który oferuje rozrywkę, wiadomości i sport. Miesięcznie odwiedza go ponad 50 milionów unikalnych użytkowników. Firma Terra dodała do swojego systemu zarządzania treścią (CMS) interfejsy Summarizer API i Translator API, aby pomóc dziennikarzom w natychmiastowym podsumowywaniu artykułów w języku portugalskim. Dziennikarze mogą następnie wprowadzić kilka zmian w celu poprawy stylu lub dokładności i opublikować współtworzone podsumowanie, udostępniając je wszystkim czytelnikom.
System CMS platformy Terra korzysta już z modelu LLM po stronie serwera, ale zespół postanowił zbadać AI po stronie klienta jako odrębne podejście, które może przynieść nowe korzyści. Odkryli, że interfejs Summarizer API w Chrome zapewnia jakość porównywalną z ich implementacją po stronie serwera. Rozwiązanie po stronie klienta przyniosło pozytywne wyniki, gdy było używane w połączeniu z interfejsem Translator API.
Terra wdrożyła wbudowaną AI w Chrome ze względu na kluczowe zalety. AI po stronie klienta pozwoliła zaoszczędzić koszty i uprościła zarządzanie danymi. Zespół napotkał pewne trudności, zwłaszcza w zakresie zarządzania ograniczeniami okna treści w przypadku interfejsu Summarizer API, ale udało mu się je pokonać dzięki starannemu wdrożeniu.
Początkowo firma Terra miała trudności z określeniem, które rodzaje podsumowań i udostępniony kontekst najlepiej zaspokoją jej potrzeby. W ramach eksperymentów odkryli, że jasne i przydatne podsumowania w języku angielskim mają kluczowe znaczenie dla uzyskania podobnej jakości wyników w języku portugalskim za pomocą interfejsu Translator API. Wbudowany plac zabaw AI pomógł nam pokonać te wyzwania, ponieważ mogliśmy szybko testować pomysły bez konieczności refaktoryzacji kodu za każdym razem.
Poniższy przykład pokazuje, jak Terra wywołuje interfejs Summarizer API i powiadamia użytkowników, gdy jest on niedostępny.
async function summarizerByBuiltInAI(text) {
if (!(Summarizer)) {
//Alert users in Portuguese that "Summarizer API is not available"
cms_alert(ALERT_TYPE_ERROR, "Summarizer API não está disponível.")
return null
}
try {
const availability = await Summarizer.availability();
if (availability !== 'available') {
cms_alert(ALERT_TYPE_ERROR, "Summarizer API não está disponível.")
return null
}
const summaryContext = "Avoid jargon, use correct grammar, focus on clarity," +
"and ensure the user can grasp the articles purpose," +
"without needing to open the original content.";
const options = {
sharedContext: summaryContext,
type: 'teaser',
format: 'plain-text',
length: 'long',
}
if (availability === 'available') {
const summarizer = await Summarizer.create(options);
return await summarizer.summarize(text, {
context: summaryContext
})
}
// return the download of the Summarizer Model
if(availability === 'downloadable'){
return await Summarizer.create();
}
} catch (error) {
//EN: "Error using the Summarizer API"
cms_alert(ALERT_TYPE_ERROR, "Erro ao usar o Summarizer API.");
console.error("Erro ao usar o Summarizer API:", error);
return null
}
}
Dodatkowo Terra użyła narzędzia do podsumowywania w połączeniu z interfejsem Translator API, aby przetłumaczyć tytuł, podtytuł i tekst oryginalnego artykułu w języku portugalskim na język angielski. Ta przetłumaczona wersja jest przetwarzana przez interfejs Summarizer API w celu wygenerowania podsumowania, a następnie tłumaczona z powrotem na język portugalski. Dzięki temu użytkownik otrzyma podsumowane treści w języku aplikacji.
async function translateTextByBuiltInAI(text, sourceLanguage, targetLanguage) {
if (!('translation' in self && 'createTranslator' in self.translation)) {
return null
}
try {
const translator = await Translator.create({
sourceLanguage,
targetLanguage,
})
return await translator.translate(text)
} catch (error) {
throw error
}
}
const text = `Title: ${contentTitle};\n\n Sub-title: ${contentSubtitle};\n\n Article content: ${plainText}.`;
const canTranslate = await Translator.availability({
sourceLanguage: 'pt',
targetLanguage: 'en',
})
if (canTranslate !== 'available') {
if (canTranslate === 'downloadable') {
try {
await Translator.create({
sourceLanguage: 'pt',
targetLanguage: 'en',
})
//EN: "Language download completed successfully."
cms_alert(ALERT_TYPE_OK, "Download do idioma concluído com sucesso.");
} catch (downloadError) {
//EN: "Error downloading the language required for translation."
cms_alert(ALERT_TYPE_ERROR, "Erro ao realizar download do idioma necessário para tradução.");
return
}
} else {
//EN: "Translation is not available or not ready."
cms_alert(ALERT_TYPE_ERROR, "A tradução não está disponível ou não está pronta.");
return
}
}
const translatedText = await translateTextByBuiltInAI(text, 'pt', 'en')
const summarizedText = await summarizerByBuiltInAI(translatedText)
const translatedBackText = await translateTextByBuiltInAI(summarizedText, 'en', 'pt')
Udane wdrożenie wbudowanych interfejsów AI API w Terra pokazuje ogromny potencjał AI po stronie klienta w zakresie ulepszania procesów zarządzania treściami. Dzięki interfejsom Summarizer i Translator API firma Terra umożliwiła swoim dziennikarzom pracę w bardziej efektywny sposób i jest dobrze przygotowana do zapewnienia użytkownikom lepszych wrażeń na różnych platformach.
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. Dzięki temu szybciej uzyskasz wyniki. Zapoznaj się z naszymi wskazówkami dotyczącymi skalowania podsumowywania po stronie klienta.
- Symbol
QuotaExceededErrorzawiera więcej informacji o tokenach w danych wejściowych. Obiektsummarizerma właściwośćinputQuota, która wskazuje limit tokenów interfejsu API. Umożliwia to uzyskiwanie informacji zwrotnych w czasie rzeczywistym i wyłączanie funkcji, jeśli dane wejściowe przekraczają limit.
Aby zapewnić wszystkim użytkownikom bezproblemową obsługę, możesz rozważyć podejście hybrydowe. Gdy wbudowany interfejs AI API zostanie wywołany po raz pierwszy, przeglądarka musi pobrać model.
- Miravia użyła modelu po stronie serwera, aby podać wstępne podsumowanie podczas pobierania modelu. Gdy model wbudowany był gotowy, witryna zaczęła przeprowadzać wnioskowanie po stronie klienta.
Zawsze staraj się tworzyć przyjazny i komunikatywny interfejs:
- Wprowadź pasek postępu pobierania modelu, aby ograniczyć opóźnienia w odpowiedzi.
- Zadbaj o przejrzystość pobierania modelu. Bright Sites powiadamia użytkowników o pobraniu modelu, aby zapewnić przejrzystość i uzyskać zgodę na wykorzystanie zasobów. Dzięki temu użytkownicy mogą zaakceptować lub odrzucić prośbę przed kontynuowaniem.
Wnioski i rekomendacje
Przykłady Bright Sites i Terra pokazują, jak interfejs Summarizer API może zwiększyć dostępność treści i zaangażowanie czytelników. Dzięki temu interfejsowi API po stronie klienta te platformy poprawiły wygodę czytania i personalizację bez dodatkowych kosztów biznesowych i przy uproszczonym zarządzaniu danymi. Podobnie jak interfejs Summarizer API, wszystkie wbudowane interfejsy API AI umożliwiają praktyczne wykorzystanie AI po stronie klienta.
Zastanawiasz się, jak interfejs Summarizer API może pomóc w innych przypadkach użycia? Wyjaśniliśmy też, jak interfejs Summarizer API pomaga firmom redBus i Miravia tworzyć przydatne podsumowania opinii użytkowników.
Czy tworzysz coś nowego za pomocą tych interfejsów API? Podziel się nim z nami na @ChromiumDev na X lub 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ące wspierania blogerów.
- Przeczytaj studium przypadku dotyczące tłumaczenia i wykrywania języka.
- Dowiedz się, jak interfejs Summarizer API pomaga firmom redBus i Miravia tworzyć przydatne podsumowania opinii użytkowników.
Podziękowania
Dziękujemy Guilherme Moserowi i Fernando Fischerowi z firmy Terra, Aline Souza z firmy CWI, Brianowi Alfordowi, Kevalowi Patelowi, Jackowi Rileyowi i zespołowi inżynierów Brightsites, Swethie Gopalakrishnan, Alexandrze Klepper, Thomasowi Steinerowi oraz Kenjiemu Baheux za pomoc w napisaniu i sprawdzeniu tego dokumentu.