Gepubliceerd: 11 november 2024, Laatst bijgewerkt: 30 juli 2025
Browser Support
Je kunt je gebruikers de mogelijkheid bieden om lange artikelen, complexe documenten of zelfs levendige chatgesprekken samen te vatten in beknopte en inzichtelijke overzichten.
De Summarizer API kan worden gebruikt om verschillende soorten samenvattingen te genereren in uiteenlopende lengtes en formaten, zoals zinnen, alinea's, opsommingen en meer. Wij zijn van mening dat deze API nuttig is in de volgende scenario's:
- De belangrijkste punten van een artikel of een chatgesprek samenvatten.
- Het voorstellen van titels en kopjes voor artikelen.
- Een beknopte en informatieve samenvatting maken van een lange tekst.
- Een teaser voor een boek maken 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 gebruik van generatieve AI te raadplegen.
Voer een functiedetectie uit om te controleren of de browser de Summarizer API ondersteunt.
if ('Summarizer' in self) {
// The Summarizer API is supported.
}
Bekijk de hardwarevereisten.
De volgende vereisten gelden voor ontwikkelaars en gebruikers die functies gebruiken die deze API's in Chrome inzetten. Andere browsers kunnen andere vereisten hebben.
De API's voor taaldetectie en -vertaling werken in Chrome op desktops. Deze API's werken niet op mobiele apparaten.
De Prompt API , Summarizer API , Writer API , Rewriter API en Proofreader API werken in Chrome wanneer aan de volgende voorwaarden wordt voldaan:
- Besturingssysteem : Windows 10 of 11; macOS 13+ (Ventura en nieuwer); Linux; of ChromeOS (vanaf platform 16389.0.0 en nieuwer) op Chromebook Plus- apparaten. Chrome voor Android, iOS en ChromeOS op niet-Chromebook Plus-apparaten wordt nog niet ondersteund door de API's die gebruikmaken van Gemini Nano.
- Opslag : Minimaal 22 GB vrije ruimte op het volume waarop uw Chrome-profiel staat.
- GPU of CPU : Ingebouwde modellen kunnen met een GPU of een CPU werken.
- GPU : Strikt meer dan 4 GB VRAM.
- CPU : 16 GB RAM of meer en 4 processorkernen of meer.
- Netwerk : Onbeperkte data of een verbinding zonder datalimiet.
De exacte afmetingen van de Gemini Nano kunnen variëren, afhankelijk van de browserupdate van het model. Ga naar chrome://on-device-internals om de huidige afmetingen te achterhalen.
Model downloaden
De Summarizer API gebruikt 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 functie Summarizer.availability() aan. Als het antwoord op availability() is dat het downloadable is, luistert u naar de voortgang van de download om de gebruiker hierover te informeren, aangezien dit enige tijd kan duren.
const availability = await Summarizer.availability();
Om het downloaden van het model te starten en de samenvatter te creëren, controleer je eerst of de gebruiker is geactiveerd en roep je vervolgens de asynchrone functie Summarizer.create() 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 samenvattingsobject configureren volgens uw behoeften. Deze functie 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,teaserenheadline. Zie de volgende tabel voor meer informatie. -
format: Het formaat van de samenvatting, met de toegestane waardenmarkdown(standaard) enplain-text. -
length: De lengte van de samenvatting, met de toegestane waardenshort(standaard),mediumenlong. De betekenis van deze lengtes varieert afhankelijk van het gevraagdetype. In de implementatie van Chrome bestaat een korte samenvatting van de belangrijkste punten bijvoorbeeld uit drie opsommingstekens, en een korte samenvatting uit één zin.
Eenmaal ingesteld, kunnen de parameters niet meer worden gewijzigd. Maak een nieuw summarizer-object aan als u de parameters wilt aanpassen.
De volgende tabel toont de verschillende soorten samenvattingen en hun bijbehorende lengtes. De lengtes vertegenwoordigen de maximaal mogelijke waarde, aangezien de resultaten soms korter kunnen zijn.
| Type | Betekenis | Lengte | ||||||
|---|---|---|---|---|---|---|---|---|
"tldr" | Een samenvatting moet kort en bondig zijn en een snel overzicht geven van de informatie, geschikt voor een lezer met weinig tijd. |
| ||||||
"teaser" | Een samenvatting moet zich richten op de meest interessante of intrigerende onderdelen van de tekst, bedoeld om de lezer aan te moedigen verder te lezen. |
| ||||||
"key-points" | Een samenvatting moet de belangrijkste punten uit de input weergeven in de vorm van een opsomming. |
| ||||||
"headline" | Een samenvatting moet de kern van de informatie effectief in één zin weergeven, in de vorm van een artikelkop. |
| ||||||
Je zou bijvoorbeeld een samenvatter kunnen 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);
}
Wijs de verwachte talen toe.
De Summarizer API ondersteunt meerdere talen. Stel de gewenste invoer-, uitvoer- en contexttaal in bij het aanmaken van uw sessie. Hierdoor kan de browser het verzoek weigeren als een specifieke taalcombinatie niet wordt ondersteund.
const summarizer = await Summarizer.create({
type: 'key-points',
expectedInputLanguages: ['en', 'ja', 'es'],
outputLanguage: 'es',
expectedContextLanguages: ['en'],
sharedContext: 'These are requests to summarize articles from a multilanguage newspaper. The users expect a response in Spanish.',
});
Er zijn twee manieren om de samenvatter uit te voeren: streaming en batch (uitvoer op basis van aanvragen).
Batchsamenvatting
Bij batch-samenvatting verwerkt het model de invoer als geheel en produceert vervolgens de uitvoer.
Om een batchsamenvatting te verkrijgen, 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 achtergrondinformatie toevoegen die de samenvatting kan verbeteren.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
context: 'This article is intended for a tech-savvy audience.',
});
Streamsamenvatting
Streaming- samenvatting biedt resultaten in realtime. De uitvoer wordt continu bijgewerkt naarmate de invoer wordt toegevoegd en aangepast. Om een streaming-samenvatting te verkrijgen, 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);
}
Demo
Je 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 hun iframes van dezelfde oorsprong. Toegang tot de API kan worden gedelegeerd aan iframes van een andere oorsprong met behulp van het attribuut allow="" in het machtigingsbeleid.
<!--
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 Web Workers. Dit komt door de complexiteit van het opstellen van een verantwoordelijk document voor elke worker, om de status van het machtigingsbeleid te controleren.
Deel feedback
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 in Chrome kunt u een bugrapport of een functieverzoek indienen.