Signatur
Beschreibung
Summarizer ist die zentrale Schnittstelle der Summarizer-API. Sie gehört zu den „Built-in AI“-APIs. Die Zusammenfassung erstellt ein Sprachmodell, das der Browser selbst mitbringt. In Chrome ist das Gemini Nano. Der Text verlässt das Gerät nicht. Das schützt die Daten, funktioniert nach dem ersten Herunterladen auch offline und kostet keine API-Gebühren. Typische Einsätze sind TL;DR-Zeilen für Artikel, Stichpunkte aus langen Kommentar-Threads, Überschriften-Vorschläge für Formulare und kurze Vorschautexte (Teaser).
Die Nutzung läuft meist in vier Schritten ab:
Summarizer.availability(options)meldet für die gewünschten Optionen einen dieser Werte:"available","downloadable","downloading"oder"unavailable".Summarizer.create(options)erzeugt eine Instanz und lädt das Modell bei Bedarf herunter. Den Fortschritt verfolgt man über die Optionmonitorund das Eventdownloadprogress.summarize(input, options)gibt die fertige Zusammenfassung als String zurück.summarizeStreaming(input, options)gibt stattdessen einenReadableStreamzurück, der die Zusammenfassung Stück für Stück liefert.measureInputUsage(input)undinputQuotazeigen, ob ein Text in das Kontextfenster des Modells passt.destroy()gibt die Ressourcen wieder frei.
Eine Instanz zeigt ihre Konfiguration über schreibgeschützte Eigenschaften: type, format, length, sharedContext, expectedInputLanguages, expectedContextLanguages, outputLanguage und inputQuota. Diese Werte lassen sich später nicht ändern. Wer andere Optionen braucht, erzeugt eine neue Instanz.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $options.type | "key-points" | "tldr" | "teaser" | "headline" | "key-points" | Art der Zusammenfassung: die wichtigsten Punkte als Liste, ein knapper Überblick, ein neugierig machender Anreißer oder eine Überschrift. Option für create() und availability(). |
| $options.format | "markdown" | "plain-text" | "markdown" | Ausgabeformat. Bei "markdown" kommen z. B. Aufzählungen als - -Zeilen zurück. |
| $options.length | "short" | "medium" | "long" | "short" | Ungefähre Länge der Zusammenfassung. Wie lang das genau ist, hängt von type ab, z. B. 3, 5 oder 7 Stichpunkte bei "key-points". |
| $options.sharedContext | string | Hintergrundinformation, die für alle Aufrufe dieser Instanz gilt, z. B. "Artikel eines Tech-Blogs für Entwickler". |
|
| $options.expectedInputLanguages | string[] | BCP-47-Sprachcodes der Eingabetexte, z. B. ["de", "en"]. |
|
| $options.expectedContextLanguages | string[] | Sprachen der Kontext-Angaben (sharedContext, context). |
|
| $options.outputLanguage | string | Gewünschte Ausgabesprache, z. B. "de". Ob eine Sprache unterstützt wird, prüft man vorher mit availability(). |
|
| $options.monitor | (monitor: CreateMonitor) => void | Callback, der ein CreateMonitor-Objekt erhält. Daran registriert man das Event downloadprogress (event.loaded liegt zwischen 0 und 1). Nur für create(). |
|
| $options.signal | AbortSignal | Bricht create() ab, einschließlich eines laufenden Downloads. Auch bei summarize(), summarizeStreaming() und measureInputUsage() möglich. |
Rückgabewert
Summarizer.create() gibt ein Promise zurück, das mit einer einsatzbereiten Summarizer-Instanz erfüllt wird. Summarizer.availability() gibt Promise<"available" | "downloadable" | "downloading" | "unavailable"> zurück.