Veröffentlicht am 11. November 2024, letzte Aktualisierung: 30. Juli 2025
Sie können Ihren Nutzern die Möglichkeit bieten, lange Artikel, komplexe Dokumente oder sogar lebhafte Chatunterhaltungen in prägnante und aufschlussreiche Zusammenfassungen zu verwandeln.
Mit der Summarizer API lassen sich verschiedene Arten von Zusammenfassungen in unterschiedlicher Länge und in verschiedenen Formaten erstellen, z. B. Sätze, Absätze und Listen mit Aufzählungspunkten. Wir sind der Meinung, dass diese API in folgenden Szenarien nützlich ist:
- Zusammenfassen der wichtigsten Punkte eines Artikels oder einer Chatunterhaltung
- Vorschlagen von Titeln und Überschriften für Artikel
- Erstellen einer prägnanten und informativen Zusammenfassung eines langen Texts
- Erstellen eines Teasers für ein Buch auf der Grundlage einer Buchrezension
Jetzt starten
Die Summarizer API ist ab Chrome 138 Stable verfügbar.
Führen Sie die Funktionserkennung aus, um zu prüfen, ob der Browser die Summarizer API unterstützt.
if ('Summarizer' in self) {
// The Summarizer API is supported.
}
Hardwareanforderungen
Die folgenden Anforderungen gelten für Entwickler und Nutzer, die Funktionen mit diesen APIs in Chrome verwenden. Bei anderen Browsern gelten möglicherweise andere Betriebsanforderungen.
Die Language Detector API und die Translator API funktionieren in Chrome auf dem Desktop. Auf Mobilgeräten funktionieren diese APIs nicht.
Die Prompt API, Summarizer API, Writer API, Rewriter API und Proofreader API funktionieren in Chrome, wenn die folgenden Bedingungen erfüllt sind:
- Betriebssystem: Windows 10 oder 11, macOS 13 oder höher (Ventura und höher), Linux oder ChromeOS (ab Plattform 16389.0.0) auf Chromebook Plus-Geräten. Chrome für Android, iOS und ChromeOS auf Geräten, die keine Chromebook Plus-Geräte sind, werden von den APIs, die Gemini Nano verwenden, noch nicht unterstützt
- Speicher: Mindestens 22 GB freier Speicherplatz auf dem Volume, das Ihr Chrome-Profil enthält.
- GPU oder CPU: Integrierte Modelle können mit GPU oder CPU ausgeführt werden.
- GPU: Mehr als 4 GB VRAM.
- CPU: Mindestens 16 GB RAM und mindestens 4 CPU-Kerne.
- Hinweis: Für die Prompt API mit Audioeingabe ist eine GPU erforderlich.
- Netzwerk: Unbegrenzte Daten oder eine nicht getaktete Verbindung.
Die genaue Größe von Gemini Nano kann variieren, da der Browser das Modell aktualisiert. Die aktuelle Größe finden Sie unter chrome://on-device-internals.
Download des Modells
Die Summarizer API verwendet ein Modell, das für die Erstellung hochwertiger Zusammenfassungen trainiert wurde. Die API ist in Chrome integriert und Gemini Nano ist das Modell, das beim ersten Mal heruntergeladen wird, wenn eine Website diese API verwendet.
Rufen Sie die asynchrone
Summarizer.availability() Funktion auf, um zu prüfen, ob das Modell einsatzbereit ist.
Wenn die Antwort auf availability() downloadable lautet, beobachten Sie den Downloadfortschritt, um den Nutzer darüber zu informieren, da es einige Zeit dauern kann.
const availability = await Summarizer.availability();
Wenn Sie den Download des Modells auslösen und die Zusammenfassung erstellen möchten, prüfen Sie, ob die
Nutzeraktivierung erfolgt ist, und rufen Sie dann
die asynchrone Summarizer.create() Funktion auf.
// 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-Funktionen
Mit der Funktion create() können Sie ein neues Zusammenfassungsobjekt nach Ihren Anforderungen konfigurieren. Sie verwendet ein optionales options-Objekt mit den folgenden Parametern:
sharedContext: Zusätzlicher freigegebener Kontext, der die Zusammenfassung unterstützen kann.type: Der Typ der Zusammenfassung mit den zulässigen Wertenkey-points(Standard),tldr,teaserundheadline. Weitere Informationen finden Sie in der folgenden Tabelle.format: Das Format der Zusammenfassung mit den zulässigen Wertenmarkdown(Standard) undplain-text.length: Die Länge der Zusammenfassung mit den zulässigen Wertenshort(Standard),mediumundlong. Die Bedeutung dieser Längen variiert je nach angefordertemtype. In der Chrome-Implementierung besteht eine kurze Zusammenfassung der wichtigsten Punkte beispielsweise aus drei Aufzählungspunkten und eine kurze Zusammenfassung aus einem Satz.preference: Ein Mechanismus für Entwickler, um anzugeben, ob sie eine schnelle Ausführung oder umfassende Funktionen bevorzugen.auto: Der Browser gleicht die Ausführungsgeschwindigkeit mit der Zusammenfassungsfunktion ab und kann die interne Verarbeitung dynamisch an die Umgebung, Systembeschränkungen oder den Kontext anpassen.speed: Der Browser sollte niedrige Latenz und schnelle Ausführung priorisieren. Bei diesem Ansatz wird die Leistung priorisiert, was die Zusammenfassungsfunktion einschränken kann. Dies kann zu einer weniger differenzierten Extraktion oder einer einfacheren Synthese des Quelltexts führen.capability: Der Browser sollte die Vollständigkeit und Kohärenz der Zusammenfassung sowie ein Modell priorisieren, das mehr Flexibilität in Bezug auf Zusammenfassungstypen und andere konfigurierbare Optionen bietet. Bei diesem Ansatz liegt der Fokus darauf, subtilen Kontext genau zu erfassen und hochgradig verfeinerte Zusammenfassungen zu erstellen. Dies kann zu einer höheren Latenz und langsameren Ausführungsgeschwindigkeiten führen.
Einmal festgelegt, können die Parameter nicht mehr geändert werden. Erstellen Sie ein neues Zusammenfassungsobjekt, wenn Sie Änderungen an den Parametern vornehmen müssen.
In der folgenden Tabelle sind die verschiedenen Arten von Zusammenfassungen und die entsprechenden Längen aufgeführt. Die Längen stellen den maximal möglichen Wert dar, da die Ergebnisse manchmal kürzer sein können.
| Typ | Bedeutung | Länge | ||||||
|---|---|---|---|---|---|---|---|---|
"tldr" |
Die Zusammenfassung sollte kurz und prägnant sein und einen schnellen Überblick über die Eingabe bieten. Sie ist für Leser geeignet, die wenig Zeit haben. |
|
||||||
"teaser" |
Die Zusammenfassung sollte sich auf die interessantesten oder faszinierendsten Teile der Eingabe konzentrieren und den Leser dazu anregen, mehr zu lesen. |
|
||||||
"key-points" |
Die Zusammenfassung sollte die wichtigsten Punkte aus der Eingabe extrahieren, als Liste mit Aufzählungspunkten präsentieren. |
|
||||||
"headline" |
Die Zusammenfassung sollte den Hauptpunkt der Eingabe effektiv in einem einzigen Satz im Format einer Artikelüberschrift enthalten. |
|
||||||
Sie können beispielsweise eine Zusammenfassung initialisieren, um eine mittellange Zusammenfassung der wichtigsten Punkte in Markdown auszugeben.
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);
}
Erwartete Sprachen zuweisen
Die Summarizer API akzeptiert "en", "ja", "es", "de" und "fr". Die Unterstützung für zusätzliche Sprachen ist in Entwicklung.`"Legen Sie beim Erstellen Ihrer Sitzung die erwarteten Eingabe-, Ausgabe- und Kontextsprachen fest. So kann der Browser die Anfrage ablehnen, wenn er eine bestimmte Sprachkombination nicht unterstützt.
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.',
});
Es gibt zwei Möglichkeiten, die Zusammenfassung auszuführen: Streaming und Batch (anfragebasierte Ausgabe).
Batch-Zusammenfassung
Bei der Batch-Zusammenfassung verarbeitet das Modell die Eingabe als Ganzes und gibt dann die Ausgabe aus.
Rufen Sie die Funktion summarize() auf, um eine Batch-Zusammenfassung zu erhalten. Das erste Argument ist der Text, den Sie zusammenfassen möchten. Das zweite optionale Argument ist ein Objekt mit einem context-Feld. In diesem Feld können Sie Hintergrundinformationen hinzufügen, die die Zusammenfassung verbessern können.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
context: 'This article is intended for a tech-savvy audience.',
});
Streaming-Zusammenfassung
Streaming Die Streaming-Zusammenfassung liefert Ergebnisse in Echtzeit.
Die Ausgabe wird kontinuierlich aktualisiert, wenn die Eingabe hinzugefügt und angepasst wird. Rufen Sie summarizeStreaming() anstelle von summarize() auf, um eine Streaming-Zusammenfassung zu erhalten.
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
Sie können die Summarizer API im Summarizer API Playground ausprobieren.
Berechtigungsrichtlinie, iFrames und Web Worker
Standardmäßig ist die Summarizer API nur für Fenster der obersten Ebene und für ihre iFrames mit derselben Quelle verfügbar. Der Zugriff auf die API kann mit dem Attribut der Berechtigungsrichtlinie an iFrames mit unterschiedlichen Quellen
delegiert werden: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>
Die Summarizer API ist derzeit nicht in Web Workern verfügbar. Das liegt an der Komplexität, für jeden Worker ein verantwortliches Dokument zu erstellen, um den Status der Berechtigungsrichtlinie zu prüfen.
Feedback geben
Wir möchten sehen, was Sie mit der Summarizer API erstellen. Teilen Sie uns Ihre Websites und Webanwendungen auf X, YouTube, und LinkedIn mit.
Wenn Sie Feedback zur Chrome-Implementierung haben, melden Sie einen Fehlerbericht oder senden Sie eine Feature Request.