Vat samen met ingebouwde AI

Gepubliceerd: 11 november 2024, Laatst bijgewerkt: 30 juli 2025

Browser Support

  • Chroom: 138.
  • Rand: achter een vlag.
  • Firefox: niet ondersteund.
  • Safari: niet ondersteund.

U kunt uw gebruikers de mogelijkheid bieden om lange artikelen, complexe documenten of zelfs levendige chatgesprekken samen te vatten in bondige en inzichtelijke samenvattingen.

De Summarizer API kan worden gebruikt om verschillende soorten samenvattingen te genereren in verschillende lengtes en formaten, zoals zinnen, alinea's, opsommingen en meer. Wij denken dat deze API nuttig is in de volgende scenario's:

  • De belangrijkste punten van een artikel of chatgesprek samenvatten.
  • Titels en koppen voor artikelen voorstellen.
  • Een beknopte en informatieve samenvatting maken van een lange tekst.
  • Een teaser voor een boek genereren op basis van een boekrecensie.

Aan de slag

De Summarizer API is beschikbaar vanaf Chrome 138 stable .

Voordat u deze API gebruikt, dient u het beleid van Google inzake verboden toepassingen van generatieve AI te accepteren.

Voer functiedetectie uit om te controleren of de browser de Summarizer API ondersteunt.

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

Controleer de hardwarevereisten

De volgende vereisten gelden voor ontwikkelaars en gebruikers die functies gebruiken met deze API's in Chrome. Andere browsers kunnen andere vereisten hebben.

De Language Detector- en Translator-API's werken in Chrome op desktopcomputers. Deze API's werken niet op mobiele apparaten. De Prompt API, Summarizer API, Writer API en Rewriter API werken in Chrome wanneer aan de volgende voorwaarden is voldaan:

  • Besturingssysteem : Windows 10 of 11; macOS 13+ (Ventura en hoger); Linux; of ChromeOS (vanaf platform 16389.0.0 en hoger) op [Chromebook Plus](https://www.google.com/chromebook/chromebookplus/)-apparaten. Chrome voor Android, iOS en ChromeOS op apparaten zonder Chromebook Plus worden nog niet ondersteund door de API's die Gemini Nano gebruiken.
  • Opslag : minimaal 22 GB vrije ruimte op het volume met uw Chrome-profiel.
  • GPU : absoluut meer dan 4 GB VRAM.
  • Netwerk : Onbeperkt dataverbruik of een onbeperkte verbinding.

De exacte grootte van de Gemini Nano kan variëren naarmate de browser het model bijwerkt. Om de huidige grootte te bepalen, gaat u naar chrome://on-device-internals en vervolgens naar Modelstatus . Open het vermelde bestandspad om de modelgrootte te bepalen.

Model downloaden

De Summarizer API maakt gebruik van een model dat is getraind om samenvattingen van hoge kwaliteit te genereren. De API is ingebouwd in Chrome en Gemini Nano is het model dat wordt gedownload wanneer een website deze API voor het eerst gebruikt.

Om te bepalen of het model klaar is voor gebruik, roept u de asynchrone Summarizer.availability() functie aan. Als de respons op availability() downloadable is, luister dan naar de downloadvoortgang om de gebruiker hiervan op de hoogte te stellen, aangezien dit enige tijd kan duren.

const availability = await Summarizer.availability();

Om het downloaden van het model te activeren en de samenvatter te maken, controleert u of de gebruiker het heeft geactiveerd en roept u vervolgens de asynchrone Summarizer.create() functie aan.

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

API-functies

Met de functie create() kunt u een nieuw summier object naar uw wensen configureren. Het accepteert een optioneel options met de volgende parameters:

  • sharedContext : aanvullende gedeelde context die de samenvatter kan helpen.
  • type : Het type samenvatting, met de toegestane waarden key-points (standaard), tldr , teaser en headline . Zie de volgende tabel voor details.
  • format : De opmaak van de samenvatting, met de toegestane waarden markdown (standaard) en plain-text .
  • length : De lengte van de samenvatting, met de toegestane waarden short , medium (standaard) en long . De betekenis van deze lengtes varieert afhankelijk van het aangevraagde type . In de implementatie van Chrome bestaat een korte samenvatting met kernpunten bijvoorbeeld uit drie opsommingstekens en is een korte samenvatting één zin.

Eenmaal ingesteld, kunnen de parameters niet meer worden gewijzigd. Maak een nieuw samenvattingsobject als u de parameters wilt wijzigen.

De volgende tabel toont de verschillende typen samenvattingen en hun bijbehorende lengtes. De lengtes geven de maximaal mogelijke waarden weer, aangezien de resultaten soms korter kunnen zijn.

Type Betekenis Lengte
"tldr" De samenvatting moet kort en bondig zijn en een snel overzicht geven van de input. Deze samenvatting is geschikt voor een actieve lezer.
kort 1 zin
medium 3 zinnen
lang 5 zinnen
"teaser" De samenvatting moet zich richten op de interessantste of meest intrigerende delen van de tekst. Het moet de lezer ertoe aanzetten om verder te lezen.
kort 1 zin
medium 3 zinnen
lang 5 zinnen
"key-points" In de samenvatting moeten de belangrijkste punten uit de invoer worden gehaald en in de vorm van een opsommingsteken worden gepresenteerd.
kort 3 opsommingstekens
medium 5 opsommingstekens
lang 7 opsommingstekens
"headline" De samenvatting moet effectief de hoofdpunten van de input in één zin bevatten, in de vorm van een artikelkop.
kort 12 woorden
medium 17 woorden
lang 22 woorden

U kunt bijvoorbeeld een samenvattend programma initialiseren om een ​​gemiddelde lengte aan kernpunten in Markdown weer te geven.

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);
}

Er zijn twee manieren om de summaryr uit te voeren: streaming en batch (niet-streaming).

Batch-samenvatting

Bij batch-samenvatting verwerkt het model de invoer als geheel en produceert vervolgens de uitvoer.

Om een ​​batchsamenvatting te krijgen, roept u de functie summarize() aan. Het eerste argument is de tekst die u wilt samenvatten. Het tweede, optionele argument is een object met een context . Met dit veld kunt u achtergronddetails toevoegen die de samenvatting kunnen verbeteren.

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

Streaming samenvatting

Streaming -samenvatting biedt resultaten in realtime. De uitvoer wordt continu bijgewerkt naarmate de invoer wordt toegevoegd en aangepast. Om een ​​streaming-samenvatting te krijgen, roept u summarizeStreaming() aan in plaats van 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);
}

Demonstratie

U kunt de Summarizer API uitproberen in de Summarizer API Playground .

Toestemmingsbeleid, iframes en webworkers

Standaard is de Summarizer API alleen beschikbaar voor vensters op het hoogste niveau en voor iframes met dezelfde oorsprong. Toegang tot de API kan worden gedelegeerd aan iframes met meerdere oorsprongen met behulp van het kenmerk Permission Policy allow="" :

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Summarizer API by
  setting the `allow="summarizer"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="summarizer"></iframe>

De Summarizer API is momenteel niet beschikbaar in webworkers. Dit komt door de complexiteit van het instellen van een verantwoordelijk document voor elke worker om de status van het machtigingsbeleid te controleren.

Feedback delen

We willen graag zien wat je bouwt met de Summarizer API. Deel je websites en webapplicaties met ons op X , YouTube en LinkedIn .

Voor feedback over de implementatie van Chrome kunt u een bugrapport of een functieverzoek indienen.