Proofreader API

發布日期:2025 年 9 月 12 日

說明 網頁 擴充功能 Chrome 狀態 意圖
GitHub 來源試用 來源試用 來源試用 來源試用 查看 Intent to Prototype

校對是指找出並修正文法、拼字和標點符號錯誤的過程。瀏覽器和作業系統越來越常為撰寫工具提供校對功能,例如 Google 文件

透過 Proofreader API,您可以在網頁應用程式或擴充功能中提供內建 AI 的互動式校對功能。這個 API 提供下列功能:

  • 修正:修正使用者輸入的文法、拼字和標點符號。
  • 標籤:根據錯誤類型為每項修正內容加上標籤。
  • 說明:以簡單易懂的語言定義錯誤,或說明為何需要修正。

用途

您可能會基於許多原因而需要使用 Proofreader API,例如:

  • 在提交論壇訊息、文章留言和電子郵件前,建議修正內容。
  • 在錄音期間提供修正內容。

找不到適合的用途嗎?加入搶先體驗計畫,分享您的意見。

開始使用

加入 Proofreader API 來源試用,這項試用活動將在 Chrome 141 至 145 版進行。

查看硬體需求

開發人員和在 Chrome 中使用這些 API 操作功能的使用者,都必須遵守下列規定。其他瀏覽器的操作規定可能不同。

語言偵測器和翻譯工具 API 適用於 Chrome 電腦版。這些 API 無法在行動裝置上運作。在 Chrome 中,只要符合下列條件,即可使用 Prompt API、Summarizer API、Writer API、Rewriter API 和 Proofreader API:

  • 作業系統:Windows 10 或 11;macOS 13 以上版本 (Ventura 以上版本); Linux;或 Chromebook Plus 裝置上的 ChromeOS (自 Platform 16389.0.0 以上版本)。 使用 Gemini Nano 的 API 目前不支援 Android、iOS 和 ChromeOS 版 Chrome (非 Chromebook Plus 裝置)。
  • 儲存空間:包含 Chrome 設定檔的磁碟區至少要有 22 GB 的可用空間。
  • GPU 或 CPU:內建模型可透過 GPU 或 CPU 執行。
    • GPU:視訊記憶體必須超過 4 GB。
    • CPU:RAM 16 GB 以上,CPU 核心 4 個以上。
  • 網路:無限量數據或不計量的連線。

瀏覽器更新模型時,Gemini Nano 的確切大小可能會有所不同。如要判斷目前大小,請前往 chrome://on-device-internals

新增對 localhost 的支援

如要在來源試用期間透過 localhost 存取 Proofreader API,請務必更新 Chrome 至最新版本。接下來,請按照下列步驟進行:

  1. 前往 chrome://flags/#proofreader-api-for-gemini-nano
  2. 選取「已啟用」
  3. 按一下「重新啟動」或重新啟動 Chrome。

申請參加來源試用

如要開始使用 Proofreader API,請按照下列步驟操作:

  1. 確認瞭解《Google 生成式 AI 使用限制政策》。
  2. 前往 Proofreader API 來源試用
  3. 按一下「註冊」並填寫表單。在「網站來源」欄位中,提供來源或擴充功能 ID,chrome-extension://YOUR_EXTENSION_ID
  4. 按一下「註冊」即可提交。
  5. 複製系統提供的權杖,並加到來源的每個參與網頁,或加入擴充功能資訊清單。
  6. 開始使用 Proofreader API。

進一步瞭解如何開始使用來源試用計畫

使用 Proofreader API

如要判斷模型是否可供使用,請呼叫 Proofreader.availability()。如果 availability() 的回應為 "downloadable",請監聽下載進度並通知使用者,因為下載可能需要一段時間。

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

如要觸發下載並例項化校對工具,請檢查使用者啟用狀態。然後呼叫非同步 Proofreader.create() 函式。

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

建立 Proofreader 物件

如要建立校對工具,請使用 Proofreader.create() 函式。

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

create() 方法包含下列選項:

  • expectedInputLanguages:預期輸入語言的陣列。

系統不支援說明中的 includeCorrectionTypesincludeCorrectionExplanation 選項。

開始校對使用者文字

呼叫 proofread() 即可取得輸入文字的修正內容:

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

修正內容屬於 ProofreadResult 類型。在 correctedInput 屬性中找出完全修正的輸入內容,並在 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); } 

權限政策、iframe 和 Web Worker

根據預設,校對工具 API 僅適用於頂層視窗,以及同源 iframe。您可以使用 Permission Policy allow="" 屬性,將 API 存取權委派給跨來源 iframe:

<!--   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> 

Web Worker 不支援 Proofreader API。這是因為要為每位工作人員建立負責文件,以檢查權限政策狀態,相當複雜。

示範

校對工具 API 遊樂場中試用。

參與討論及分享意見

Proofreader API 目前仍在討論階段,日後可能會有變動。如果您試用過這項 API,歡迎提供意見。

在瀏覽器中探索所有內建 AI API,這些 API 使用模型 (包括大型語言模型)。