Pubblicata: 15 maggio 2025
Il pubblico si affida agli editori di notizie per informarsi su eventi locali, nazionali e internazionali, nonché per condividere le loro opinioni ponderate. Nell'ambiente frenetico di oggi, i riepiloghi degli articoli sono una strategia chiave per condensare informazioni complesse in snippet accessibili, incoraggiando i lettori a esplorare ulteriormente. Scopri in che modo Bright Sites e Terra adottano questa strategia utilizzando l'API Summarizer.
Spiegazione | Web | Estensioni | Stato di Chrome | Intenzione |
---|---|---|---|---|
MDN | Visualizza | Intent to Ship |
L'API Summarizer consente di generare diversi tipi di riassunti in vari formati e lunghezze, ad esempio frasi, paragrafi, elenchi puntati e altro ancora. Questa API, come molte delle API di IA integrate, utilizza modelli linguistici di grandi dimensioni per eseguire l'inferenza. In Chrome, il nostro modello è Gemini Nano.
Bright Sites aggiunge riepiloghi degli articoli personalizzati a The Standard
Flow, la principale piattaforma di pubblicazione di notizie di Bright Sites, supporta oltre 150 pubblicazioni. Integrando l'API Summarizer nel proprio CMS basato sull'IA, Bright Sites consente a The Standard, il marchio di notizie iconico di Londra, di offrire ai propri lettori riassunti personalizzati degli articoli. In questo modo incoraggiamo gli utenti a interagire con gli articoli e a visitare altri articoli su The Standard.
"Lavorare con i modelli all'avanguardia di Gemini in Chrome significa unire 198 anni di tradizione di The Standard nel tenere informati i lettori con nuove innovazioni tecniche per il nostro pubblico impegnato, che apprezza avere a portata di mano il nostro giornalismo affidabile. Consentire ai lettori di controllare rapidamente le notizie utilizzando i riepiloghi creati sui loro dispositivi è solo uno dei modi in cui stiamo reinventando The Standard e creando nuovi prodotti incentrati sui lettori e sulle loro abitudini digitali."
- Jack Riley, Chief Digital Officer, The Standard
L'offerta di sintesi dell'IA lato client ha consentito a The Standard di generare riassunti personalizzati senza costi aggiuntivi per l'azienda. Se lo fai lato client, utilizzando punti dati come lo stile del riepilogo o la posizione, gli utenti possono continuare a leggere anche quando perdono l'accesso a internet. Questo accade spesso a molti utenti che viaggiano sulla metropolitana di Londra con il loro laptop.
Innanzitutto, controllano il supporto e la disponibilità del modello e dell'API.
// 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. To view this summary, you must" +
"download a language model, which is approximately 3GB in size." +
"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.",
}
}
}
La seguente funzione definisce un riepilogatore generico che, in futuro, potrebbe utilizzare un altro modello on-device o un modello lato server.
/**
* Define the summarizer.
**/
export const aiSummarize = async (textToSummarize, options) => {
const availableSummarizationTools = getAvailableAiSummarizationTools()
if (availableSummarizationTools.has('clientSideAI') && options?.clientSideAI) {
// Generate the summarizer and abort signal
const summarizer = await createclientSideAISummarizer(options.clientSideAI.options)
return await summarizer.summarize(textToSummarize, {
signal: options.clientSideAI.signal,
})
}
throw new Error(
'AI summarization tools are not supported on this device or browser.',
)
}
La versione standard memorizza la preferenza di riepilogo dei lettori in IndexedDB per offrire un riepilogo personalizzato.
/**
* 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 fornisce ai giornalisti un riepilogo modificabile per gli articoli in portoghese
Terra è uno dei più grandi portali di contenuti del Brasile, che offre intrattenimento, notizie e sport con oltre 50 milioni di visitatori unici al mese. Terra ha aggiunto l'API Summarizer e l'API Translator al proprio sistema di gestione dei contenuti (CMS) per aiutare i giornalisti a riassumere immediatamente le notizie in portoghese. I giornalisti possono quindi apportare alcune modifiche per motivi stilistici o di accuratezza e pubblicare il riepilogo creato in collaborazione, rendendolo subito disponibile a tutti i lettori.
Sebbene il CMS di Terra utilizzi già un modello LLM lato server, il team ha esplorato l'IA lato client come approccio distinto con potenziali nuovi vantaggi. Hanno riscontrato che l'API Summarizer e Gemini Nano in Chrome offrono una qualità paragonabile alla loro implementazione lato server. La soluzione lato client ha dato risultati positivi se utilizzata in combinazione con l'API Translator.
Terra ha adottato l'implementazione dell'AI integrata di Chrome per via di vantaggi chiave. L'AI lato client ha consentito di risparmiare sui costi e di semplificare la governance dei dati. Sebbene il team abbia riscontrato alcune difficoltà, in particolare in merito alla gestione delle limitazioni della finestra dei contenuti con l'API Summarizer, è riuscito a superarle grazie a pratiche di implementazione scrupolose.
Inizialmente, Terra ha avuto difficoltà a determinare quali tipi di riepilogo e contesto condiviso fossero più adatti a soddisfare le sue esigenze. Attraverso la sperimentazione, hanno scoperto che i riepiloghi in inglese chiari e utili erano fondamentali per produrre un output di qualità simile in portoghese con l'API Traduttore. Il sandbox di AI integrato è stato fondamentale per affrontare queste sfide, poiché Terra poteva testare rapidamente le sue idee senza dover eseguire il refactoring del codice ogni volta.
L'esempio seguente mostra come Terra invoca l'API Summarizer e avvisa gli utenti quando non è disponibile.
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
}
}
Inoltre, Terra ha utilizzato il riepilogatore in combinazione con l'API Translator per tradurre in inglese il titolo, i sottotitoli e il testo dell'articolo originale in portoghese. Questa versione tradotta viene elaborata dall'API Summarizer per generare il riepilogo e poi tradotta di nuovo in portoghese. In questo modo, l'utente riceve i contenuti riepilogati nella lingua dell'applicazione.
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')
L'integrazione riuscita delle API di IA integrate di Terra dimostra il potenziale significativo dell'IA lato client per migliorare i flussi di lavoro di gestione dei contenuti. Con le API di Summarization e Translator, Terra ha dato potere ai suoi giornalisti, ha migliorato l'efficienza ed è in una posizione ottimale per offrire esperienze utente avanzate su più piattaforme.
Best practice
Se l'input della recensione supera il limite di token, segui queste misure di mitigazione:
- Utilizza un campione più piccolo (ad esempio le 4 recensioni più recenti) per l'API. In questo modo, puoi generare risultati più rapidamente. Consulta le nostre indicazioni su come eseguire il scaling del riepilogo lato client.
QuotaExceededError
fornisce ulteriori informazioni sui token richiesti nell'input. L'oggettosummarizer
ha una proprietàinputQuota
che indica il limite di token dell'API. Ciò consente di fornire feedback in tempo reale e di disattivare la funzionalità se l'input supera il limite.
Ti consigliamo di prendere in considerazione un approccio ibrido per garantire un'esperienza fluida per tutti gli utenti. La prima volta che viene chiamata un'API di IA integrata, il browser deve scaricare il modello.
- Miravia ha utilizzato un modello lato server per fornire un riepilogo iniziale durante il download del modello. Una volta che il modello integrato è stato pronto, il sito è passato all'esecuzione dell'inferenza lato client.
Devi sempre cercare di creare un'interfaccia amichevole e comunicativa:
- Implementa una barra di avanzamento per i download dei modelli e riduci i ritardi di risposta.
- Valuta la trasparenza in merito al download del modello. Bright Sites ha informato gli utenti sul download del modello per garantire trasparenza e consenso per l'utilizzo delle risorse. In questo modo, gli utenti possono accettare o rifiutare prima di procedere.
Conclusioni e suggerimenti
Gli esempi di Bright Sites e Terra dimostrano il valore dell'API Summarizer per migliorare l'accessibilità dei contenuti e il coinvolgimento dei lettori. Grazie all'utilizzo di questa API lato client, queste piattaforme hanno migliorato l'esperienza di lettura e la personalizzazione, senza costi aggiuntivi per l'attività e con una governance dei dati semplificata. Come l'API Summarizer, tutte le API di IA integrate attivano l'IA lato client pratica.
Ti stai chiedendo in che modo l'API Summarizer può essere utile per altri casi d'uso? Abbiamo anche spiegato in che modo l'API Summarizer aiuta redBus e Miravia a creare utili riepiloghi delle recensioni degli utenti.
Stai creando qualcosa di nuovo con queste API? Condividila con noi su @ChromiumDev su X o su Chromium for Developers su LinkedIn.
Risorse
- Scopri di più sull'API Summarizer.
- Inizia a utilizzare le API integrate su Chrome.
- Leggi il case study sull'API Prompt per l'empowering dei blogger.
- Leggi il case study su traduzione e Rilevamento della lingua.
- Scopri in che modo l'API Summarizer aiuta redBus e Miravia a creare utili riepiloghi delle recensioni degli utenti.
Ringraziamenti
Grazie a Guilherme Moser e Fernando Fischer di Terra, Aline Souza di CWI, Brian Alford, Keval Patel, Jack Riley e al team di ingegneria di Brightsites, Swetha Gopalakrishnan, Alexandra Klepper, Thomas Steiner e Kenji Baheux per aver contribuito a scrivere e esaminare questo documento.