Gepubliceerd: 11 november 2024, Laatst bijgewerkt: 30 juli 2025
Browser Support
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 waardenkey-points
(standaard),tldr
,teaser
enheadline
. Zie de volgende tabel voor details. -
format
: De opmaak van de samenvatting, met de toegestane waardenmarkdown
(standaard) enplain-text
. -
length
: De lengte van de samenvatting, met de toegestane waardenshort
,medium
(standaard) enlong
. De betekenis van deze lengtes varieert afhankelijk van het aangevraagdetype
. 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. |
| ||||||
"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. |
| ||||||
"key-points" | In de samenvatting moeten de belangrijkste punten uit de invoer worden gehaald en in de vorm van een opsommingsteken worden gepresenteerd. |
| ||||||
"headline" | De samenvatting moet effectief de hoofdpunten van de input in één zin bevatten, in de vorm van een artikelkop. |
|
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.