Veröffentlicht am 11. November 2024, zuletzt aktualisiert am 20. Mai 2025
Erklärung | Web | Erweiterungen | Chrome-Status | Absicht |
---|---|---|---|---|
MDN | Ansicht | Intent to Ship |
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 können Sie verschiedene Arten von Zusammenfassungen in unterschiedlichen Längen und Formaten generieren, z. B. Sätze, Absätze oder Listen mit Aufzählungspunkten. Wir gehen davon aus, dass diese API in folgenden Szenarien nützlich ist:
- Zusammenfassung der wichtigsten Punkte eines Artikels oder einer Chatunterhaltung
- Vorschläge für Titel und Überschriften für Artikel
- Erstellen einer prägnanten und informativen Zusammenfassung eines langen Textes.
- Einen Teaser für ein Buch auf Grundlage einer Rezension erstellen
Jetzt starten
Die Summarizer API ist ab Chrome 138 (stabil) verfügbar.
Bevor Sie diese API verwenden, müssen Sie die Richtlinie zur unzulässigen Nutzung von generativer KI von Google zur Kenntnis nehmen.
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 prüfen
Für Entwickler und Nutzer, die Funktionen mit diesen APIs in Chrome verwenden, gelten die folgenden Anforderungen. Bei anderen Browsern gelten möglicherweise andere Betriebsanforderungen.
Die APIs für die Spracherkennung und die Übersetzung funktionieren in der Desktopversion von Chrome. Diese APIs funktionieren nicht auf Mobilgeräten. Die Prompt API, Summarizer API, Writer API und Rewriter 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) oder Linux. Chrome für Android, iOS und ChromeOS wird von den APIs, die Gemini Nano verwenden, noch nicht unterstützt.
- Speicherplatz: Mindestens 22 GB auf dem Volume, das Ihr Chrome-Profil enthält.
- GPU: Mehr als 4 GB VRAM.
- Netzwerk: Unbegrenzte Daten oder eine Verbindung ohne Volumenbegrenzung.
Die genaue Größe von Gemini Nano kann leicht variieren. Die aktuelle Größe finden Sie unter chrome://on-device-internals
im Bereich Modellstatus.
Öffnen Sie den aufgeführten Dateipfad, um die Modellgröße zu ermitteln.
Download des Modells
Die Summarizer API verwendet ein Modell, das darauf trainiert wurde, hochwertige Zusammenfassungen zu generieren. Die API ist in Chrome integriert und Gemini Nano ist das Modell, das beim ersten Aufruf der API durch eine Website heruntergeladen wird.
Rufen Sie die asynchrone Funktion Summarizer.availability()
auf, um festzustellen, ob das Modell einsatzbereit ist. Es wird ein Promise mit den folgenden Werten zurückgegeben.
"unavailable"
bedeutet, dass die Implementierung die angeforderten Optionen nicht unterstützt."downloadable"
bedeutet, dass die Implementierung die angeforderten Optionen unterstützt, der Browser aber zuerst etwas herunterladen muss, z. B. ein Modell (im Fall von Chrome Gemini Nano) oder eine Feinabstimmung für das Modell."downloading"
bedeutet, dass die Implementierung die angeforderten Optionen unterstützt, aber einen laufenden Download abschließen muss, bevor sie fortfahren kann."available"
bedeutet, dass die Implementierung die angeforderten Optionen unterstützt und der Summarizer fortfahren kann.
Rufen Sie die asynchrone Funktion Summarizer.create()
auf, um den Modelldownload auszulösen und die Zusammenfassung zu erstellen. Wenn die Antwort auf availability()
downloadable
oder downloading
war, ist es am besten, den Downloadfortschritt zu überwachen. So können Sie den Nutzer informieren und darauf hinweisen, dass der Download einige Zeit in Anspruch nehmen kann, bevor eine Zusammenfassung erstellt werden kann.
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 Summarizer-Objekt nach Bedarf konfigurieren. Es verwendet ein optionales options
-Objekt mit den folgenden Parametern:
sharedContext
: Zusätzlicher gemeinsamer Kontext, der dem Tool für die Zusammenfassung helfen kann.type
: Der Typ der Zusammenfassung mit den zulässigen Wertenkey-points
(Standard),tldr
,teaser
undheadline
. 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
,medium
(Standard) undlong
. Die Bedeutung dieser Längen variiert je nach angefordertertype
. In der Chrome-Implementierung besteht eine kurze Zusammenfassung der wichtigsten Punkte beispielsweise aus drei Aufzählungszeichen und eine kurze Zusammenfassung aus einem Satz.
Einmal festgelegt, können die Parameter nicht mehr geändert werden. Erstellen Sie ein neues Summarizer-Objekt, wenn Sie die Parameter ändern müssen.
In der folgenden Tabelle sehen Sie die verschiedenen Arten von Zusammenfassungen und die entsprechenden Längen. 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, der für einen vielbeschäftigten Leser geeignet ist. |
|
||||||
"teaser" |
Die Zusammenfassung sollte sich auf die interessantesten oder fesselndsten Teile der Eingabe konzentrieren, um den Leser dazu zu bringen, mehr zu lesen. |
|
||||||
"key-points" |
In der Zusammenfassung sollten die wichtigsten Punkte aus der Eingabe in Form einer Aufzählungsliste dargestellt werden. |
|
||||||
"headline" |
Die Zusammenfassung sollte die Hauptaussage der Eingabe in einem einzigen Satz im Format einer Artikelüberschrift enthalten. |
|
Das folgende Beispiel zeigt, wie der Summarizer initialisiert wird.
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;
}
const summarizer = await Summarizer.create(options);
Zusammenfassung erstellen
Es gibt zwei Möglichkeiten, den Summarizer auszuführen: Streaming und Batch (nicht Streaming).
Batchzusammenfassung
Bei der Batchzusammenfassung verarbeitet das Modell die Eingabe als Ganzes und gibt dann die Ausgabe aus.
Rufen Sie die Funktion summarize()
auf, um eine Batchzusammenfassung 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önnten.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarize(longText, {
context: 'This article is intended for a tech-savvy audience.',
});
Zusammenfassung von Streams
Bei der Streamingzusammenfassung werden die Ergebnisse in Echtzeit bereitgestellt.
Die Ausgabe wird kontinuierlich aktualisiert, wenn die Eingabe hinzugefügt und angepasst wird. Wenn Sie eine Streaming-Zusammenfassung erhalten möchten, rufen Sie summarizeStreaming()
anstelle von summarize()
auf.
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.
Standardisierungsaufwand
Wir arbeiten daran, die Summarizer API zu standardisieren, um die browserübergreifende Kompatibilität zu gewährleisten.
Unser API-Vorschlag wurde von der Community unterstützt und wird nun in der W3C Web Incubator Community Group weiter diskutiert. Das Chrome-Team hat Feedback von der W3C Technical Architecture Group angefordert und Mozilla und WebKit um ihre Standardpositionen gebeten.
Beteiligen Sie sich an der Standardisierung, indem Sie der Web Incubator Community Group beitreten.
Feedback geben
Wir möchten sehen, was Sie mit der Summarizer API entwickeln. Teilen Sie uns Ihre Websites und Webanwendungen auf X, YouTube und LinkedIn mit.
Wenn Sie Feedback zur Implementierung von Chrome geben möchten, melden Sie einen Fehler oder stellen Sie eine Anfrage zu einem Feature.