Riepiloga con l'IA integrata

Pubblicato: 11 novembre 2024, ultimo aggiornamento: 30 luglio 2025

Spiegazione Web Estensioni Stato di Chrome Intenzione
MDN Chrome 138 Chrome 138 Visualizza Intenzione di spedizione

Puoi offrire ai tuoi utenti la possibilità di distillare articoli lunghi, documenti complessi o persino conversazioni di chat vivaci in riepiloghi concisi e approfonditi.

L'API Summarizer può essere utilizzata per generare diversi tipi di riepiloghi in lunghezze e formati diversi, come frasi, paragrafi, elenchi puntati e altro ancora. Riteniamo che questa API sia utile nei seguenti scenari:

  • Riassumere i punti chiave di un articolo o di una conversazione in chat.
  • Suggerire titoli e intestazioni per gli articoli.
  • Creare un riepilogo conciso e informativo di un testo lungo.
  • Generazione di un teaser per un libro basato su una recensione.

Inizia

L'API Summarizer è disponibile a partire da Chrome 138 stabile.

Prima di utilizzare questa API, accetta le Norme relative all'uso vietato dell'AI generativa di Google.

Esegui il rilevamento delle funzionalità per verificare se il browser supporta l'API Summarizer.

if ('Summarizer' in self) {
  // The Summarizer API is supported.
}

Esamina i requisiti hardware

Per gli sviluppatori e gli utenti che utilizzano le funzionalità che si servono di queste API in Chrome esistono i seguenti requisiti. Altri browser potrebbero avere requisiti di funzionamento diversi.

Le API Language Detector e Translator funzionano in Chrome su computer. Queste API non funzionano sui dispositivi mobili. L'API Prompt, l'API Summarizer, l'API Writer e l'API Rewriter funzionano in Chrome quando sono soddisfatte le seguenti condizioni:

  • Sistema operativo: Windows 10 o 11; macOS 13+ (Ventura e versioni successive); o Linux. Chrome per Android, iOS e ChromeOS non è ancora supportato dalle API che utilizzano Gemini Nano.
  • Spazio di archiviazione: almeno 22 GB di spazio libero sul volume che contiene il tuo profilo Chrome.
  • GPU: rigorosamente più di 4 GB di VRAM.
  • Rete: dati illimitati o una connessione non misurata.

Le dimensioni esatte di Gemini Nano possono variare man mano che il browser aggiorna il modello. Per determinare le dimensioni attuali, visita chrome://on-device-internals e vai a Stato modello. Apri il Percorso file elencato per determinare le dimensioni del modello.

Download modello

L'API Summarizer utilizza un modello addestrato per generare riepiloghi di alta qualità. L'API è integrata in Chrome e Gemini Nano è il modello scaricato la prima volta che un sito web utilizza questa API.

Per determinare se il modello è pronto per l'uso, chiama la funzione asincrona Summarizer.availability(). Se la risposta a availability() è downloadable, ascolta l'avanzamento del download per informare l'utente, poiché potrebbe richiedere del tempo.

const availability = await Summarizer.availability();

Per attivare il download del modello e creare il riepilogo, verifica l'attivazione dell'utente, quindi chiama la funzione asincrona Summarizer.create().

// Proceed to request batch or streaming summarization
const summarizer = await Summarizer.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
});

Funzioni API

La funzione create() consente di configurare un nuovo oggetto di riepilogo in base alle tue esigenze. Accetta un oggetto options facoltativo con i seguenti parametri:

  • sharedContext: contesto condiviso aggiuntivo che può aiutare il riepilogatore.
  • type: il tipo di riepilogo, con i valori consentiti key-points (predefinito), tldr, teaser e headline. Vedi la tabella seguente per i dettagli.
  • format: il formato del riepilogo, con i valori consentiti markdown (predefinito) e plain-text.
  • length: la lunghezza del riepilogo, con i valori consentiti short, medium (predefinito) e long. Il significato di queste durate varia a seconda del type richiesto. Ad esempio, nell'implementazione di Chrome, un breve riepilogo dei punti chiave è costituito da tre punti elenco, mentre un breve riepilogo è una frase.

Una volta impostati, i parametri non possono essere modificati. Crea un nuovo oggetto di riepilogo se devi apportare modifiche ai parametri.

La seguente tabella mostra i diversi tipi di riepiloghi e le relative lunghezze. Le lunghezze rappresentano il valore massimo possibile, poiché a volte i risultati possono essere più brevi.

Tipo Significato Lunghezza
"tldr" Il riepilogo deve essere breve e conciso e fornire una rapida panoramica dell'input, adatta a un lettore impegnato.
video breve 1 frase
media 3 frasi
Lungo 5 frasi
"teaser" Il riepilogo deve concentrarsi sulle parti più interessanti o intriganti dell'input, progettate per attirare il lettore e invogliarlo a leggere di più.
video breve 1 frase
media 3 frasi
Lungo 5 frasi
"key-points" Il riepilogo deve estrarre i punti più importanti dell'input, presentati come elenco puntato.
video breve 3 punti elenco
media 5 punti elenco
Lungo 7 punti elenco
"headline" Il riepilogo deve contenere in modo efficace il punto principale dell'input in una singola frase, nel formato di un titolo di articolo.
video breve 12 parole
media 17 parole
Lungo 22 parole

Ad esempio, potresti inizializzare un riepilogatore per generare un riepilogo di media lunghezza dei punti chiave in Markdown.

const options = {
  sharedContext: 'This is a scientific article',
  type: 'key-points',
  format: 'markdown',
  length: 'medium',
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  }
};

const availability = await Summarizer.availability();
if (availability === 'unavailable') {
  // The Summarizer API isn't usable.
  return;
}

// Check for user activation before creating the summarizer
if (navigator.userActivation.isActive) {
  const summarizer = await Summarizer.create(options);
}

Esegui il riepilogo

Esistono due modi per eseguire il riepilogo: streaming e batch (non streaming).

Riepilogo batch

Con il riepilogo batch, il modello elabora l'input nel suo complesso e poi produce l'output.

Per ottenere un riepilogo del batch, chiama la funzione summarize(). Il primo argomento è il testo che vuoi riassumere. Il secondo argomento facoltativo è un oggetto con un campo context. Questo campo ti consente di aggiungere dettagli di contesto che potrebbero migliorare il riepilogo.

const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
  context: 'This article is intended for a tech-savvy audience.',
});

Riassunto dello streaming

Il riepilogo streaming offre risultati in tempo reale. L'output viene aggiornato continuamente man mano che l'input viene aggiunto e modificato. Per ricevere un riepilogo dello streaming, chiama il numero summarizeStreaming() anziché il numero summarize().

const longText = document.querySelector('article').innerHTML;
const stream = summarizer.summarizeStreaming(longText, {
  context: 'This article is intended for junior developers.',
});
for await (const chunk of stream) {
  console.log(chunk);
}

Demo

Puoi provare l'API Summarizer in Summarizer API Playground.

Impegno di standardizzazione

Stiamo lavorando per standardizzare l'API Summarizer per la compatibilità cross-browser.

L'API Summarizer e altre API di assistenza alla scrittura sono state adottate dal gruppo di lavoro W3C WebML. Abbiamo chiesto a Mozilla e WebKit le loro posizioni sugli standard.

Condividi feedback

Vogliamo vedere cosa stai creando con l'API Summarizer. Condividi i tuoi siti web e applicazioni web con noi su X, YouTube e LinkedIn.

Per inviare feedback sull'implementazione di Chrome, compila una segnalazione di bug o una richiesta di funzionalità.