Veröffentlicht: 11. November 2024, letzte Aktualisierung: 20. Mai 2025
Erklärvideo | Web | Erweiterungen | Chrome-Status | Absicht |
---|---|---|---|---|
MDN | Ansicht | Versandabsicht |
Sie können Ihren Nutzern die Möglichkeit bieten, lange Artikel, komplexe Dokumente oder sogar lebhafte Chatunterhaltungen in prägnante und aussagekräftige Zusammenfassungen zu verdichten.
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 Aufzählungslisten. Wir sind der Meinung, dass diese API in folgenden Szenarien nützlich ist:
- Die wichtigsten Punkte eines Artikels oder einer Chatunterhaltung zusammenfassen.
- Titel und Überschriften für Artikel vorschlagen
- Erstellen einer kurzen und informativen Zusammenfassung eines langen Textes.
- Generieren eines Teasers für ein Buch anhand einer Buchrezension
Jetzt starten
Die Summarizer API ist ab Chrome 138 Stable verfügbar.
Führen Sie die Funktionsprüfung 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
Die Language Detection API und die Translator API funktionieren nur auf dem Computer in Chrome.
Die Prompt API, die Summarizer API, die Writer API und die 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 werden von unseren APIs, die von Gemini Nano unterstützt werden, noch nicht unterstützt.
- Speicher: Mindestens 22 GB auf dem Volume, das Ihr Chrome-Profil enthält.
- GPU: Mindestens 4 GB VRAM.
- Netzwerk: Unbegrenzte Daten oder eine Verbindung ohne Datenlimit.
Diese Anforderungen gelten für Sie in Ihrem Entwicklungsprozess und für Ihre Nutzer, die mit den von Ihnen entwickelten Funktionen arbeiten.
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 heruntergeladen wird, wenn eine Website diese API zum ersten Mal verwendet.
Rufen Sie die asynchrone Funktion Summarizer.availability()
auf, um zu prüfen, ob das Modell einsatzbereit ist. Es gibt ein Promise mit den folgenden Werten zurück.
"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 (in Chrome Gemini Nano) oder eine Feinabstimmung für das Modell."downloading"
bedeutet, dass die Implementierung die angeforderten Optionen unterstützt, aber ein laufender Download abgeschlossen werden muss, bevor fortgefahren werden 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 den Summarizer zu erstellen. Wenn die Antwort auf availability()
downloadable
oder downloading
war, solltest du den Downloadfortschritt im Blick behalten. So können Sie den Nutzer darüber informieren, dass der Download einige Zeit in Anspruch nehmen kann, bevor die 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 Zusammenfassungsobjekt nach Ihren Anforderungen konfigurieren. Es nimmt ein optionales options
-Objekt mit den folgenden Parametern an:
sharedContext
: Zusätzlicher gemeinsamer Kontext, der dem Summarisierer 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. Zulässige Werte:markdown
(Standard) undplain-text
.length
: Die Länge der Zusammenfassung. Zulässige Werte:short
,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ählungspunkten und eine kurze Zusammenfassung aus einem Satz.
Einmal festgelegt, können die Parameter nicht mehr geändert werden. Erstellen Sie ein neues Zusammenfassungsobjekt, wenn Sie Änderungen an den Parametern vornehmen möchten.
In der folgenden Tabelle sind die verschiedenen Arten von Zusammenfassungen und ihre entsprechenden Längen aufgeführt. Die Längen geben den maximal möglichen Wert an, 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 beschäftigten Leser geeignet ist. |
|
||||||
"teaser" |
Die Zusammenfassung sollte sich auf die interessantesten oder spannendsten Teile des Eingabematerials konzentrieren und den Leser dazu anregen, mehr zu lesen. |
|
||||||
"key-points" |
Die Zusammenfassung sollte die wichtigsten Punkte aus der Eingabe enthalten und als Aufzählungsliste dargestellt werden. |
|
||||||
"headline" |
Die Zusammenfassung sollte den Hauptpunkt der Eingabe in einem einzigen Satz im Format einer Artikelüberschrift enthalten. |
|
Im folgenden Beispiel wird gezeigt, wie der Summer initialisiert wird.
const options = {
sharedContext: 'This is a scientific article',
type: 'key-points',
format: 'markdown',
length: 'medium',
};
const availability = await Summarizer.availability();
let summarizer;
if (availability === 'unavailable') {
// The Summarizer API isn't usable.
return;
}
if (availability === 'available') {
// The Summarizer API can be used immediately .
summarizer = await Summarizer.create(options);
} else {
// The Summarizer API can be used after the model is downloaded.
summarizer = await Summarizer.create(options);
summarizer.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
await summarizer.ready;
}
Zusammenfassung ausführen
Es gibt zwei Möglichkeiten, den Summarizer auszuführen: Streaming und Batch (nicht Streaming).
Batch-Zusammenfassung
Bei der Batch-Zusammenfassung verarbeitet das Modell die Eingabe als Ganzes und generiert dann die Ausgabe.
Wenn Sie eine Batch-Zusammenfassung abrufen möchten, rufen Sie die Funktion summarize()
auf. Das erste Argument ist der Text, der zusammengefasst werden soll. Das zweite, optionale Argument ist ein Objekt mit einem context
-Feld. In diesem Feld können Sie Hintergrunddetails 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.',
});
Streamingzusammenfassung
Bei der Streaming-Zusammenfassung werden Ergebnisse in Echtzeit angezeigt.
Die Ausgabe wird kontinuierlich aktualisiert, während die Eingabe hinzugefügt und angepasst wird. Wenn du eine Streaming-Zusammenfassung erhalten möchtest, rufe summarizeStreaming()
anstelle von summarize()
auf.
const longText = document.querySelector('article').innerHTML;
const summary = await summarizer.summarizeStreaming(longText, {
context: 'This article is intended for junior developers.',
});
Demo
Sie können die Summarizer API im Summarizer API Playground ausprobieren.
Standardisierungsaufwand
Wir arbeiten daran, die Summarizer API zu standardisieren, um für plattformübergreifende Kompatibilität zu sorgen.
Unser API-Vorschlag hat Unterstützung von der Community erhalten 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 Positionierung zu den Standards gebeten.
Wenn Sie sich an der Standardsentwicklung beteiligen möchten, können Sie der Web Incubator Community Group beitreten.
Feedback geben
Wir sind gespannt, was Sie mit der Summarizer API erstellen. Teilen Sie uns Ihre Websites und Webanwendungen auf X, YouTube und LinkedIn mit.
Wenn Sie Feedback zur Implementierung in Chrome geben möchten, können Sie einen Fehlerbericht oder eine Funktionsanfrage senden.