Veröffentlicht: 20. Mai 2025
Erklärung | Web | Erweiterungen | Chrome-Status | Absicht |
---|---|---|---|---|
GitHub | Ansicht | Absichtserklärung für Tests |
Mit der Rewriter API können Sie Text überarbeiten und umstrukturieren. Diese API und die Writer API sind Teil des Vorschlags für Writing Assistance APIs.
Mit diesen APIs können Sie von Nutzern erstellte Inhalte verbessern.
Anwendungsfälle
Vorhandenen Text verfeinern, indem Sie ihn verlängern oder kürzen oder den Stil ändern Beispielsweise können Sie:
- Formuliere eine kurze E‑Mail so um, dass sie höflicher und formeller klingt.
- Änderungen an Kundenrezensionen vorschlagen, damit andere Kunden das Feedback besser verstehen oder um schädliche Inhalte zu entfernen.
- Inhalte so formatieren, dass sie den Erwartungen bestimmter Zielgruppen entsprechen
Fehlt Ihr Anwendungsfall? Nehmen Sie am Early-Access-Programm teil, um uns Feedback zu geben.
Jetzt starten
Nehmen Sie am Ursprungstest für die Rewriter API teil, der in Chrome 137 bis 142 läuft.
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.
Für den Ursprungstest registrieren
Die Rewriter API ist in einem gemeinsamen Ursprungstest mit der Writer API verfügbar. So verwenden Sie diese APIs:
- Bestätigen Sie die Richtlinie zur unzulässigen Nutzung von generativer KI von Google.
- Rufen Sie die Rewriter API-Testversion auf.
- Klicken Sie auf Registrieren und füllen Sie das Formular aus. Geben Sie im Feld „Webursprung“ Ihren Ursprung oder Ihre Erweiterungs-ID ein,
chrome-extension://YOUR_EXTENSION_ID
. - Klicken Sie zum Einreichen auf Registrieren.
- Kopieren Sie das bereitgestellte Token und fügen Sie es auf jeder teilnehmenden Webseite Ihres Ursprungs ein oder fügen Sie es in Ihr Erweiterungsmanifest ein.
- Beginnen Sie mit der Verwendung der Rewriter API.
Weitere Informationen zum Einstieg in Origin Trials
Unterstützung für localhost hinzufügen
Wenn Sie während des Ursprungstests auf die Writer- und Rewriter-APIs auf localhost zugreifen möchten, müssen Sie Chrome auf die neueste Version aktualisieren. Folgen Sie anschließend dieser Anleitung:
- Öffnen Sie
chrome://flags/#rewriter-api-for-gemini-nano
. - Wählen Sie Aktiviert aus.
- Klicken Sie auf Neu starten oder starten Sie Chrome neu.
Rewriter API verwenden
Führen Sie zuerst die Funktionserkennung aus, um zu prüfen, ob der Browser diese APIs unterstützt.
if ('Rewriter' in self) {
// The Rewriter API is supported.
}
Die Rewriter API und alle anderen integrierten KI-APIs sind in den Browser integriert. Gemini Nano wird beim ersten Mal, wenn eine Website eine integrierte KI-API verwendet, separat heruntergeladen. Wenn ein Nutzer bereits mit einer integrierten API interagiert hat, hat er das Modell in seinen Browser heruntergeladen.
Rufen Sie die asynchrone Funktion Rewriter.availability()
auf, um festzustellen, ob das Modell einsatzbereit ist. Es wird ein String zurückgegeben, der vier mögliche Werte annehmen kann:
unavailable
: Der Browser unterstützt die Rewriter API, sie kann aber derzeit nicht verwendet werden. Das kann verschiedene Gründe haben, z. B. unzureichender Speicherplatz zum Herunterladen des Modells.available
: Der Browser unterstützt die Rewriter API und sie kann sofort verwendet werden.downloadable
: Der Browser unterstützt die Rewriter API, muss das Modell aber erst herunterladen.downloading
: Der Browser unterstützt die Rewriter API und lädt das Modell gerade herunter.
Rufen Sie die Funktion Rewriter.create()
auf, um den Modelldownload auszulösen und den Rewriter zu starten. Wenn die Antwort auf availability()
downloadable
war, höre auf den Downloadfortschritt und informiere den Nutzer, da der Download einige Zeit dauern kann.
const rewriter = await Rewriter.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API-Funktionen
Mit der Funktion create()
können Sie ein neues Rewriter-Objekt konfigurieren. Es verwendet ein optionales options
-Objekt mit den folgenden Parametern:
tone
: Der Schreibstil kann sich auf den Stil, den Charakter oder die Haltung des Inhalts beziehen. Der Wert kann aufmore-formal
,as-is
(Standard) odermore-casual
festgelegt werden.format
: Die Ausgabeformatierung mit den zulässigen Wertenas-is
(Standard),markdown
undplain-text
.length
: Die Länge der Ausgabe mit den zulässigen Wertenshorter
,as-is
(Standard) undlonger
.sharedContext
: Wenn Sie mehrere Inhalte umschreiben, kann ein gemeinsamer Kontext dem Modell helfen, Inhalte zu erstellen, die besser Ihren Erwartungen entsprechen.
Das folgende Beispiel zeigt, wie ein rewriter
-Objekt initialisiert wird:
const options = {
sharedContext: 'This is an email to acquaintances about an upcoming event.',
tone: 'more-casual',
format: 'plain-text',
length: 'shorter',
};
const available = await Rewriter.availability();
let rewriter;
if (available === 'unavailable') {
// The Rewriter API isn't usable.
return;
}
if (available === 'available') {
// The Rewriter API can be used immediately .
rewriter = await Rewriter.create(options);
} else {
// The Rewriter can be used after the model is downloaded.
rewriter = await Rewriter.create(options);
rewriter.addEventListener('downloadprogress', (e) => {
console.log(e.loaded, e.total);
});
}
Umschreiben starten
Es gibt zwei Möglichkeiten, Inhalte aus dem Modell auszugeben: nicht streamend und streamend.
Nicht-Streaming-Ausgabe
Beim Umschreiben ohne Streaming verarbeitet das Modell die Eingabe als Ganzes und gibt dann die Ausgabe aus.
Wenn Sie eine Ausgabe ohne Streaming erhalten möchten, rufen Sie die asynchrone Funktion rewrite()
auf. Sie müssen den ursprünglichen Text angeben, der umgeschrieben werden soll. Sie können optional ein context
hinzufügen, um dem Modell Hintergrundinformationen zu geben. So kann das Modell Ihre Erwartungen an die Ausgabe möglicherweise besser erfüllen.
// Non-streaming
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const result = await rewriter.rewrite(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible."
});
Ausgabe der Stream-Umschreibung
Streaming bietet Ergebnisse in Echtzeit. Die Ausgabe wird kontinuierlich aktualisiert, wenn die Eingabe hinzugefügt und angepasst wird.
Um einen Streaming-Rewriter zu erhalten, rufen Sie die Funktion rewriteStreaming()
auf und durchlaufen Sie die verfügbaren Textsegmente im Stream. Sie können optional ein context
hinzufügen, um dem Modell Hintergrundinformationen zu geben. Das kann dem Modell helfen, Ihre Erwartungen an die Ausgabe besser zu erfüllen.
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const stream = rewriter.rewriteStreaming(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible.",
tone: "more-casual",
});
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Kontext für mehrere Aufgaben freigeben
Möglicherweise möchten Sie ein rewriter
verwenden, um mehrere Inhalte zu generieren. In diesem Fall ist es sinnvoll, sharedContext
hinzuzufügen. So können Sie beispielsweise Prüfern helfen, besseres Feedback in Kommentaren zu geben.
// Shared context and per writing task context
const rewriter = await Rewriter.create({
sharedContext: "This is for publishing on [popular website name], a business and employment-focused social media platform."
});
const stream = rewriter.rewriteStreaming(
"Love all this work on generative AI at Google! So much to learn and so many new things I can do!",
{
context: "The request comes from someone working at a startup providing an e-commerce CMS solution.",
tone: "more-casual",
}
);
for await (const chunk of stream) {
composeTextbox.append(chunk);
}
Rewriter wiederverwenden
Sie können denselben Rewriter verwenden, um mehrere Inhalte zu bearbeiten. Das kann besonders nützlich sein, wenn Sie den Rewriter in ein Feedback- oder Kommentar-Tool einfügen, um Autoren dabei zu helfen, produktives und hilfreiches Feedback zu geben.
// Reusing a rewriter
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const rewrittenReviews = await Promise.all(
Array.from(
document.querySelectorAll("#reviews > .review"),
(reviewEl) => rewriter.rewrite(reviewEl.textContent, {
context: "Avoid any toxic language and be as constructive as possible.",
tone: "more-casual",
})
),
);
Rewriter beenden
Um den Prozess des Umschreibens zu beenden, brechen Sie den Controller ab und zerstören Sie rewriter
.
// Stop a rewriter
const controller = new AbortController();
stopButton.onclick = () => controller.abort();
const rewriter = await Rewriter.create({ signal: controller.signal });
await rewriter.rewrite(reviewEl.textContent, { signal: controller.signal });
// Destroy a rewriter
rewriter.destroy();
Demo
Feedback geben
Die Writer- und Rewriter-APIs werden derzeit aktiv diskutiert und können sich in Zukunft ändern. Wenn Sie diese API ausprobieren und Feedback haben, freuen wir uns darauf.
- Lesen Sie die Erläuterung, stellen Sie Fragen und beteiligen Sie sich an der Diskussion.
- Die Implementierung für Chrome finden Sie unter Chrome Status.
- Nehmen Sie am Early-Access-Programm teil, um sich neue APIs anzusehen und Zugriff auf unsere Mailingliste zu erhalten.
- Wenn Sie Feedback zur Implementierung in Chrome haben, erstellen Sie in Chromium einen Eintrag für das Problem.
Entdecken Sie alle integrierten KI-APIs, die Modelle verwenden, einschließlich Gemini Nano und anderer Expertenmodelle, im Browser.