Gepubliceerd: 20 mei 2025
Uitlegger | Web | Uitbreidingen | Chrome-status | Intentie |
---|---|---|---|---|
GitHub | Weergave | Intentie om te experimenteren |
De Rewriter API helpt je bij het reviseren en herstructureren van tekst. Deze API en de Writer API maken deel uit van het Writing Assistance API-voorstel .
Met deze API's kunt u de content van uw gebruikers verbeteren.
Gebruiksscenario's
Verfijn bestaande tekst door deze langer of korter te maken, of door de toon te veranderen. Je kunt bijvoorbeeld:
- Herschrijf een korte e-mail, zodat deze beleefder en formeler klinkt.
- Stel wijzigingen voor in de beoordelingen van klanten, zodat andere klanten de feedback beter kunnen begrijpen of om schadelijke content te verwijderen.
- Formatteer content op een manier die voldoet aan de verwachtingen van specifieke doelgroepen.
Ontbreekt uw use case? Doe mee aan het early preview-programma en deel uw feedback.
Aan de slag
Doe mee aan de proefversie van de Rewriter API, die beschikbaar is in Chrome 137 tot en met 142.
Controleer de hardwarevereisten
De API's voor taaldetector en vertaler werken alleen op desktopcomputers in Chrome.
De Prompt API, Summarizer API, Writer API en Rewriter API werken in Chrome wanneer aan de volgende voorwaarden is voldaan:
- Besturingssysteem : Windows 10 of 11; macOS 13+ (Ventura en hoger); of Linux. Chrome voor Android, iOS en ChromeOS worden nog niet ondersteund door onze API's, ondersteund door Gemini Nano.
- Opslag : minimaal 22 GB op het volume dat uw Chrome-profiel bevat.
- GPU : absoluut meer dan 4 GB VRAM.
- Netwerk : Onbeperkt dataverbruik of een onbeperkte verbinding.
Deze vereisten gelden voor u in uw ontwikkelingsproces en voor uw gebruikers die met de functies werken die u bouwt.
Meld je aan voor het oorsprongsonderzoek
De Rewriter API is beschikbaar in een gezamenlijke proefperiode met de Writer API. Om deze API's te gebruiken:
- Erken het beleid van Google inzake verboden gebruik van generatieve AI .
- Ga naar de proefversie van de Rewriter API .
- Klik op Registreren en vul het formulier in. Geef in het veld 'Web origin' uw oorsprong- of extensie-ID op,
chrome-extension://YOUR_EXTENSION_ID
. - Om te verzenden, klikt u op Registreren .
- Kopieer het verstrekte token en voeg het toe aan elke deelnemende webpagina op uw oorsprong of neem het op in het manifest van uw extensie .
- Begin met het gebruiken van de Rewriter API.
Lees meer over hoe u kunt beginnen met oorsprongsproeven .
Ondersteuning toevoegen aan localhost
Om tijdens de proefperiode toegang te krijgen tot de Writer- en Rewriter-API's op localhost, moet u Chrome updaten naar de nieuwste versie. Volg vervolgens deze stappen:
- Ga naar
chrome://flags/#rewriter-api-for-gemini-nano
. - Selecteer Ingeschakeld .
- Klik op Opnieuw starten of start Chrome opnieuw.
Gebruik de Rewriter API
Voer eerst functiedetectie uit om te controleren of de browser deze API's ondersteunt.
if ('Rewriter' in self) {
// The Rewriter API is supported.
}
De Rewriter API en alle andere ingebouwde AI API's zijn geïntegreerd in de browser. Gemini Nano wordt apart gedownload wanneer een website voor het eerst een ingebouwde AI API gebruikt. In de praktijk betekent dit dat als een gebruiker al eerder met een ingebouwde API heeft gewerkt, hij of zij het model al naar zijn of haar browser heeft gedownload.
Om te bepalen of het model klaar is voor gebruik, roept u de asynchrone functie Rewriter.availability()
aan. Deze retourneert een string die vier mogelijke waarden kan aannemen:
-
unavailable
: De browser ondersteunt de Rewriter API, maar deze kan momenteel niet worden gebruikt. Dit kan verschillende oorzaken hebben, zoals onvoldoende beschikbare schijfruimte om het model te downloaden. -
available
: De browser ondersteunt de Rewriter API en kan direct gebruikt worden. -
downloadable
: De browser ondersteunt de Rewriter API, maar moet eerst het model downloaden. -
downloading
: De browser ondersteunt de Rewriter API en is momenteel bezig met het downloaden van het model.
Om het downloaden van het model te activeren en de herschrijver te starten, roept u de functie Rewriter.create()
aan. Als de respons op availability()
downloadable
was, luister dan naar de voortgang van het downloaden en informeer de gebruiker, aangezien het downloaden enige tijd kan duren.
const rewriter = await Rewriter.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
API-functies
Met de functie create()
kunt u een nieuw rewriter-object configureren. Deze functie accepteert een optioneel options
met de volgende parameters:
-
tone
: Schrijftoon kan verwijzen naar de stijl, het karakter of de houding van de inhoud. De waarde kan worden ingesteld opmore-formal
,as-is
(standaard) ofmore-casual
. -
format
: De opmaak van de uitvoer, met de toegestane waardenas-is
(standaard),markdown
enplain-text
. -
length
: De lengte van de uitvoer, met de toegestane waardenshorter
,as-is
(standaard) enlonger
. -
sharedContext
: Wanneer u meerdere stukken content herschrijft, kan een gedeelde context het model helpen content te creëren die beter aansluit bij uw verwachtingen.
Het volgende voorbeeld laat zien hoe u een rewriter
-object initieert:
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);
});
}
Begin met herschrijven
Er zijn twee manieren om inhoud uit het model te genereren: niet-streaming en streaming.
Niet-streaming output
Bij non-streaming herschrijven verwerkt het model de invoer als geheel en produceert vervolgens de uitvoer.
Roep de asynchrone rewrite()
-functie aan om een niet-streaming-uitvoer te verkrijgen. U moet de oorspronkelijke tekst opnemen die u wilt herschrijven. U kunt een optionele context
toevoegen om achtergrondinformatie over het model te verstrekken, waardoor het model mogelijk beter aan uw verwachtingen voor de uitvoer voldoet.
// 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."
});
Uitvoer van herschrijfstream
Streaming biedt resultaten in realtime. De output wordt continu bijgewerkt naarmate de input wordt toegevoegd en aangepast.
Om een streaming herschrijver te krijgen, roept u de functie rewriteStreaming()
aan en itereert u over de beschikbare tekstsegmenten in de stream. U kunt een optionele context
toevoegen om achtergrondinformatie over het model te geven, wat kan helpen om het model beter aan uw verwachtingen voor de uitvoer te laten voldoen.
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);
}
Deel context voor meerdere taken
Je kunt een rewriter
gebruiken om meerdere stukken content te genereren. In dat geval is het handig om sharedContext
toe te voegen. Je kunt reviewers bijvoorbeeld helpen om betere feedback te geven in reacties.
// 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);
}
Een herschrijver hergebruiken
Je kunt dezelfde herschrijver gebruiken om meerdere stukken content te bewerken. Dit kan met name handig zijn als je de herschrijver toevoegt aan een feedback- of reactietool, zodat schrijvers productieve en nuttige feedback kunnen geven.
// 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",
})
),
);
Stop de herschrijver
Om het herschrijfproces te beëindigen, moet u de controller afsluiten en de rewriter
vernietigen.
// 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();
Demonstratie
Betrek en deel feedback
De Writer- en Rewriter-API's worden momenteel actief besproken en kunnen in de toekomst worden gewijzigd. Als u deze API uitprobeert en feedback heeft, horen we dat graag.
- Lees de uitleg , stel vragen en neem deel aan de discussie.
- Bekijk de implementatie voor Chrome op Chrome Status .
- Meld u aan voor ons early preview-programma om alvast kennis te maken met nieuwe API's en toegang te krijgen tot onze mailinglijst.
- Als u feedback hebt over de implementatie van Chrome, meld dit dan als Chromium-bug .
Ontdek alle ingebouwde AI API's die modellen gebruiken, waaronder Gemini Nano en andere expertmodellen, in de browser.