Publié le 20 mai 2025
Explication | Web | Extensions | État de Chrome | Intent |
---|---|---|---|---|
Afficher | Intention de tester |
L'API Rewriter vous aide à réviser et à restructurer du texte. Cette API et l'API Writer font partie de la proposition d'API d'aide à la rédaction.
Ces API peuvent vous aider à améliorer les contenus créés par les utilisateurs.
Cas d'utilisation
Affiner un texte existant en le rallongeant ou en le raccourcissant, ou en modifiant le ton Par exemple, vous pouvez :
- Réécris un court e-mail pour qu'il soit plus poli et formel.
- Suggérez des modifications aux avis des clients pour aider les autres clients à comprendre les commentaires ou supprimer les contenus toxiques.
- Mettez en forme vos contenus pour répondre aux attentes de certaines audiences.
Votre cas d'utilisation est-il manquant ? Participez au programme Preview pour nous faire part de vos commentaires.
Commencer
Participez à la phase d'évaluation de l'API Rewriter, qui se déroule dans Chrome 137 à 142.
Consulter la configuration matérielle requise
Les exigences suivantes s'appliquent aux développeurs et aux utilisateurs qui utilisent des fonctionnalités à l'aide de ces API dans Chrome. Il est possible que les exigences de fonctionnement soient différentes dans les autres navigateurs.
Les API Language Detector et Translator fonctionnent dans Chrome sur ordinateur. Ces API ne fonctionnent pas sur les appareils mobiles. Les API Prompt, Summarizer, Writer et Rewriter fonctionnent dans Chrome lorsque les conditions suivantes sont remplies :
- Système d'exploitation : Windows 10 ou 11, macOS 13 ou version ultérieure (Ventura et versions ultérieures) ou Linux. Chrome pour Android, iOS et ChromeOS ne sont pas encore compatibles avec les API qui utilisent Gemini Nano.
- Stockage : au moins 22 Go sur le volume contenant votre profil Chrome.
- GPU : plus de 4 Go de VRAM.
- Réseau : données illimitées ou connexion non limitée.
La taille exacte de Gemini Nano peut varier légèrement. Pour connaître la taille actuelle, accédez à chrome://on-device-internals
, puis à État du modèle. Ouvrez le chemin d'accès au fichier indiqué pour déterminer la taille du modèle.
S'inscrire à la version d'évaluation de l'origine
L'API Rewriter est disponible dans une phase d'évaluation conjointe avec l'API Writer. Pour commencer à utiliser ces API :
- Acceptez le Règlement de Google sur les utilisations interdites de l'IA générative.
- Accédez à l'origin trial de l'API Rewriter.
- Cliquez sur Register (Enregistrer) et remplissez le formulaire. Dans le champ "Origine Web", indiquez votre origine ou l'ID de l'extension,
chrome-extension://YOUR_EXTENSION_ID
. - Pour valider, cliquez sur S'inscrire.
- Copiez le jeton fourni et ajoutez-le à chaque page Web participante de votre origine ou incluez-le dans votre fichier manifeste de l'extension.
- Commencez à utiliser l'API Rewriter.
Découvrez comment faire vos premiers pas avec les versions d'essai des origines.
Ajouter la prise en charge de localhost
Pour accéder aux API Writer et Rewriter sur localhost pendant l'Origin Trial, vous devez mettre à jour Chrome vers la dernière version. Ensuite, procédez comme suit :
- Accédez à
chrome://flags/#rewriter-api-for-gemini-nano
. - Sélectionnez Activé.
- Cliquez sur Relancer ou redémarrez Chrome.
Utiliser l'API Rewriter
Tout d'abord, exécutez la détection de fonctionnalités pour voir si le navigateur est compatible avec ces API.
if ('Rewriter' in self) {
// The Rewriter API is supported.
}
L'API Rewriter et toutes les autres API d'IA intégrées sont intégrées au navigateur. Gemini Nano est téléchargé séparément la première fois qu'un site Web utilise une API d'IA intégrée. En pratique, si un utilisateur a déjà interagi avec une API intégrée, il a téléchargé le modèle dans son navigateur.
Pour déterminer si le modèle est prêt à être utilisé, appelez la fonction asynchrone Rewriter.availability()
. Elle renvoie une chaîne qui peut prendre quatre valeurs possibles :
unavailable
: le navigateur est compatible avec l'API Rewriter, mais elle ne peut pas être utilisée pour le moment. Plusieurs raisons peuvent expliquer ce problème, comme un espace disque insuffisant pour télécharger le modèle.available
: le navigateur est compatible avec l'API Rewriter et peut être utilisé immédiatement.downloadable
: le navigateur est compatible avec l'API Rewriter, mais il doit d'abord télécharger le modèle.downloading
: le navigateur est compatible avec l'API Rewriter et télécharge actuellement le modèle.
Pour déclencher le téléchargement du modèle et démarrer le réécriveur, appelez la fonction Rewriter.create()
. Si la réponse à availability()
est downloadable
, écoutez la progression du téléchargement et informez l'utilisateur, car le téléchargement peut prendre du temps.
const rewriter = await Rewriter.create({
monitor(m) {
m.addEventListener("downloadprogress", e => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
}
});
Fonctions de l'API
La fonction create()
vous permet de configurer un nouvel objet de réécriture. Il accepte un objet options
facultatif avec les paramètres suivants :
tone
: le ton de l'écriture peut faire référence au style, au caractère ou à l'attitude du contenu. La valeur peut être définie surmore-formal
,as-is
(par défaut) oumore-casual
.format
: format de sortie, avec les valeurs autoriséesas-is
(par défaut),markdown
etplain-text
.length
: longueur de la sortie, avec les valeurs autoriséesshorter
,as-is
(par défaut) etlonger
.sharedContext
: lorsque vous réécrivez plusieurs contenus, un contexte partagé peut aider le modèle à créer des contenus mieux adaptés à vos attentes.
L'exemple suivant montre comment initialiser un objet rewriter
:
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);
});
}
Commencer à réécrire
Il existe deux façons de générer du contenu à partir du modèle : sans flux et avec flux.
Sortie sans
Avec la réécriture sans , le modèle traite l'entrée dans son ensemble, puis produit la sortie.
Pour obtenir une sortie non diffusée en flux continu, appelez la fonction asynchrone rewrite()
. Vous devez inclure le texte initial que vous souhaitez réécrire. Vous pouvez ajouter un context
facultatif pour fournir au modèle des informations générales, ce qui peut l'aider à mieux répondre à vos attentes concernant le résultat.
// Non-
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."
});
Sortie de réécriture de flux
Le fournit des résultats en temps réel. Le résultat est mis à jour en continu à mesure que l'entrée est ajoutée et ajustée.
Pour obtenir un réécriveur de flux, appelez la fonction rewrite()
et parcourez les segments de texte disponibles dans le flux. Vous pouvez ajouter un context
facultatif pour fournir au modèle des informations générales, ce qui peut l'aider à mieux répondre à vos attentes concernant le résultat.
const rewriter = await Rewriter.create({
sharedContext: "A review for the Flux Capacitor 3000 from TimeMachines Inc."
});
const stream = rewriter.rewrite(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);
}
Partager le contexte pour plusieurs tâches
Vous pouvez utiliser un rewriter
pour générer plusieurs contenus. Dans ce cas, il est utile d'ajouter sharedContext
. Par exemple, vous pouvez aider les évaluateurs à fournir de meilleurs commentaires.
// 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.rewrite(
"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);
}
Réutiliser un outil de réécriture
Vous pouvez utiliser le même outil de réécriture pour modifier plusieurs contenus. Cela peut être particulièrement utile si vous ajoutez le réécriveur à un outil de commentaires ou de commentaires pour aider les rédacteurs à fournir des commentaires productifs et utiles.
// 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",
})
),
);
Arrêter le réécriveur
Pour mettre fin au processus de réécriture, abandonnez le contrôleur et détruisez le 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();
Démo
Interagir et envoyer des commentaires
Les API Writer et Rewriter sont en cours de discussion et peuvent être modifiées à l'avenir. Si vous essayez cette API et que vous avez des commentaires, n'hésitez pas à nous les faire parvenir.
- Lisez l'explication, posez des questions et participez à la discussion.
- Consultez l'implémentation pour Chrome sur Chrome Status.
- Rejoignez le programme Preview anticipée pour découvrir en avant-première les nouvelles API et accéder à notre liste de diffusion.
- Si vous avez des commentaires sur l'implémentation de Chrome, signalez un bug Chromium.
Découvrez toutes les API d'IA intégrées qui utilisent des modèles, y compris Gemini Nano et d'autres modèles experts, dans le navigateur.