API Proofreader

Data di pubblicazione: 12 settembre 2025

Spiegazione Web Estensioni Stato di Chrome Intenzione
GitHub Prova per sviluppatori Prova per sviluppatori Prova per sviluppatori Prova per sviluppatori Visualizza Intenzione di sperimentare

La correzione bozza è il processo di ricerca e correzione di errori di grammatica, ortografia e punteggiatura. I browser e i sistemi operativi offrono sempre più la correzione bozze ai loro strumenti di composizione, ad esempio in Documenti Google.

Con l'API Proofreader, puoi fornire la correzione interattiva alla tua applicazione web o estensione, con l'AI integrata. Questa API offre le seguenti funzioni:

  • Correzione: correggi gli input dell'utente per grammatica, ortografia e punteggiatura.
  • Etichette: etichetta ogni correzione in base al tipo di errore.
  • Spiegazione: definizione dell'errore o del motivo per cui è stata necessaria la correzione in un linguaggio semplice.

Casi d'uso

Esistono molti motivi per cui potresti voler utilizzare l'API Proofreader. Ad esempio:

  • Suggerisci correzioni a messaggi del forum, commenti su articoli ed email, prima dell'invio del post.
  • Fornisci correzioni durante la creazione attiva di note.

Il tuo caso d'uso non è presente? Partecipa al programma di anteprima per condividere il tuo feedback.

Inizia

Partecipa alla prova dell'origine dell'API Proofreader, in esecuzione in Chrome 141-145.

Esamina i requisiti hardware

Per gli sviluppatori e gli utenti che utilizzano le funzionalità che si servono di queste API in Chrome esistono i seguenti requisiti. Altri browser potrebbero avere requisiti di funzionamento diversi.

Le API Language Detector e Translator funzionano in Chrome su computer. Queste API non funzionano sui dispositivi mobili.

L'API Prompt, l'API Summarizer, l'API Writer, l'API Rewriter e l'API Proofreader funzionano in Chrome quando sono soddisfatte le seguenti condizioni:

  • Sistema operativo: Windows 10 o 11; macOS 13+ (Ventura e versioni successive); Linux; o ChromeOS (dalla piattaforma 16389.0.0 e versioni successive) su dispositivi Chromebook Plus. Chrome per Android, iOS e ChromeOS su dispositivi non Chromebook Plus non sono ancora supportati dalle API che utilizzano Gemini Nano.
  • Spazio di archiviazione: almeno 22 GB di spazio libero sul volume che contiene il tuo profilo Chrome.
  • GPU o CPU: i modelli integrati possono essere eseguiti con GPU o CPU.
    • GPU: rigorosamente più di 4 GB di VRAM.
    • CPU: 16 GB di RAM o più e 4 core CPU o più.
    • Nota: l'API Prompt con input audio richiede una GPU.
  • Rete: dati illimitati o una connessione senza limiti.

Le dimensioni esatte di Gemini Nano possono variare man mano che il browser aggiorna il modello. Per determinare le dimensioni attuali, visita la pagina chrome://on-device-internals.

Aggiungere il supporto a localhost

Tutte le API AI integrate sono disponibili su localhost in Chrome. Imposta i seguenti flag su Abilitato:

  • chrome://flags/#optimization-guide-on-device-model
  • chrome://flags/#prompt-api-for-gemini-nano-multimodal-input
  • chrome://flags/#proofreader-api-for-gemini-nano

Quindi, fai clic su Riavvia o riavvia Chrome. Se si verificano errori, risolvi i problemi relativi a localhost.

Registrati alla prova dell'origine

Per iniziare a utilizzare l'API Proofreader, segui questi passaggi:

  1. Accetta le Norme relative all'uso vietato dell'AI generativa di Google.
  2. Vai alla prova dell'origine dell'API Proofreader.
  3. Fai clic su Registrati e compila il modulo. Nel campo Origine web, fornisci la tua origine o l'ID estensione, chrome-extension://YOUR_EXTENSION_ID.
  4. Per inviare, fai clic su Registra.
  5. Copia il token fornito e aggiungilo a ogni pagina web partecipante nell'origine o includilo nel file manifest dell'estensione.
  6. Inizia a utilizzare l'API Proofreader.

Scopri di più su come iniziare a utilizzare le prove di origine.

Utilizzare l'API Proofreader

Per determinare se il modello è pronto per l'uso, chiama Proofreader.availability(). Se la risposta a availability() è "downloadable", ascolta l'avanzamento del download e informa l'utente, poiché il download potrebbe richiedere tempo.

const options = {
  expectedInputLanguages: ['en'],
};
const available = if (Proofreader.availability("downloadable") === true);

Per attivare il download e creare il correttore, verifica l'attivazione utente. Quindi, chiama la funzione asincrona Proofreader.create().

const session = await Proofreader.create({
  monitor(m) {
    m.addEventListener('downloadprogress', (e) => {
      console.log(`Downloaded ${e.loaded * 100}%`);
    });
  },
  ...options,
});

Crea un oggetto Proofreader

Per creare un correttore, utilizza la funzione Proofreader.create().

const proofreader = await Proofreader.create({
  expectedInputLanguages: ["en"],
  monitor(m) {
    m.addEventListener("downloadprogress", e => {
      console.log(Downloaded ${e.loaded * 100}%);
    });
  }
};

Il metodo create() include le seguenti opzioni:

  • expectedInputLanguages: un array di lingue di input previste.

Le opzioni includeCorrectionTypes e includeCorrectionExplanation della spiegazione non sono supportate.

Inizia a correggere il testo dell'utente

Chiama proofread() per ricevere correzioni per un testo inserito:

const proofreadResult = await proofreader.proofread(
  'I seen him yesterday at the store, and he bought two loafs of bread.',
);

Le correzioni sono un tipo di ProofreadResult. Trova l'input completamente corretto nell'attributo correctedInput e l'elenco delle correzioni nell'array corrections:

let inputRenderIndex = 0;

console.log(proofreadResult.correction);

for (const correction of proofreadResult.corrections) {
  // Render part of input that has no error.
  if (correction.startIndex > inputRenderIndex) {
    const unchangedInput = document.createElement('span');
    unchangedInput.textContent = input.substring(inputRenderIndex, correction.startIndex);
    editBox.append(unchangedInput);
  }
  // Render part of input that has an error and highlight as such.
  const errorInput = document.createElement('span');
  errorInput.textContent = input.substring(correction.startIndex, correction.endIndex);
  errorInput.classList.add('error');
  editBox.append(errorInput);
  inputRenderIndex = correction.endIndex;
}

// Render the rest of the input that has no error.
if (inputRenderIndex !== input.length){
  const unchangedInput = document.createElement('span');
  unchangedInput.textContent = input.substring(inputRenderIndex, input.length);
  editBox.append(unchangedInput);
}

Norme relative alle autorizzazioni, iframe e web worker

Per impostazione predefinita, l'API Proofreader è disponibile solo per le finestre di primo livello e per i relativi iframe della stessa origine. L'accesso all'API può essere delegato agli iframe cross-origin utilizzando l'attributo Permission Policy allow="":

<!--
  The hosting site at https://main.example.com can grant a cross-origin iframe
  at https://cross-origin.example.com/ access to the Proofreader API by
  setting the `allow="proofreader"` attribute.
-->
<iframe src="https://cross-origin.example.com/" allow="proofreader"></iframe>

L'API Proofreader non è disponibile nei web worker. Ciò è dovuto alla complessità di stabilire un documento responsabile per ogni lavoratore, al fine di controllare lo stato secondo le norme del criterio delle autorizzazioni.

Demo

Prova l'ambiente di prova dell'API Proofreader e dai un'occhiata al codice sorgente.

Partecipare e condividere feedback

L'API Proofreader è in fase di discussione e soggetta a modifiche in futuro. Se provi questa API e hai un feedback, ci farebbe piacere riceverlo.

Scopri tutte le API AI integrate che utilizzano modelli, inclusi i modelli linguistici di grandi dimensioni, nel browser.