Proofreader API

Ngày xuất bản: 12 tháng 9 năm 2025

Người giải thích Web Phần mở rộng Trạng thái của Chrome Mục đích
GitHub Bản dùng thử theo nguyên gốc Bản dùng thử ban đầu Bản dùng thử theo nguyên gốc Bản dùng thử ban đầu Xem Mục đích thử nghiệm

Hiệu đính là quá trình tìm và sửa lỗi ngữ pháp, chính tả và dấu câu. Các trình duyệt và hệ điều hành ngày càng cung cấp tính năng hiệu đính cho các công cụ soạn thảo của mình, chẳng hạn như trong Google Tài liệu.

Với Proofreader API, bạn có thể cung cấp tính năng hiệu đính tương tác cho ứng dụng hoặc phần mở rộng web của mình bằng AI tích hợp. API này cung cấp các hàm sau:

  • Correction (Sửa lỗi): Sửa lỗi ngữ pháp, chính tả và dấu câu trong thông tin đầu vào của người dùng.
  • Nhãn: Gắn nhãn cho từng lỗi sửa theo loại lỗi.
  • Giải thích: Định nghĩa lỗi là gì hoặc tại sao cần sửa lỗi bằng ngôn ngữ đơn giản.

Trường hợp sử dụng

Có nhiều lý do khiến bạn muốn sử dụng Proofreader API. Ví dụ:

  • Đề xuất các lỗi sửa cho tin nhắn trên diễn đàn, nhận xét về bài viết và email, trước khi bài đăng được gửi.
  • Cung cấp các lỗi sửa trong khi ghi chú.

Bạn không thấy trường hợp sử dụng của mình? Hãy tham gia chương trình xem trước sớm để chia sẻ ý kiến phản hồi.

Bắt đầu

Tham gia bản dùng thử ban đầu của Proofreader API, chạy trong Chrome 141 đến 145.

Xem các yêu cầu về phần cứng

Các yêu cầu sau đây áp dụng cho nhà phát triển và người dùng vận hành các tính năng bằng các API này trong Chrome. Các trình duyệt khác có thể có các yêu cầu khác về hoạt động.

Language DetectorTranslator API hoạt động trong Chrome trên máy tính. Các API này không hoạt động trên thiết bị di động.

Prompt API, Summarizer API, Writer API, Rewriter APIProofreader API hoạt động trong Chrome khi đáp ứng các điều kiện sau:

  • Hệ điều hành: Windows 10 hoặc 11; macOS 13 trở lên (Ventura trở lên); Linux; hoặc ChromeOS (từ Nền tảng 16389.0.0 trở lên) trên các thiết bị Chromebook Plus. Chrome dành cho Android, iOS và ChromeOS trên các thiết bị không phải Chromebook Plus chưa được các API sử dụng Gemini Nano hỗ trợ.
  • Bộ nhớ: Ít nhất 22 GB dung lượng trống trên ổ đĩa chứa hồ sơ Chrome của bạn.
  • GPU hoặc CPU: Các mô hình tích hợp có thể chạy bằng GPU hoặc CPU.
    • GPU: Hơn 4 GB VRAM.
    • CPU: 16 GB RAM trở lên và 4 lõi CPU trở lên.
  • Mạng: Dữ liệu không giới hạn hoặc kết nối không tính phí.

Kích thước chính xác của Gemini Nano có thể thay đổi khi trình duyệt cập nhật mô hình. Để xác định kích thước hiện tại, hãy truy cập vào chrome://on-device-internals.

Thêm tính năng hỗ trợ cho localhost

Tất cả các API AI tích hợp đều có trên localhost trong Chrome. Đặt các cờ sau thành Enabled (Đã bật):

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

Sau đó, nhấp vào Relaunch (Khởi chạy lại) hoặc khởi động lại Chrome. Nếu bạn gặp lỗi, hãy khắc phục sự cố localhost.

Đăng ký bản dùng thử ban đầu

Để bắt đầu sử dụng Proofreader API, hãy làm theo các bước sau:

  1. Xác nhận Chính sách về các hành vi bị cấm khi sử dụng AI tạo sinh của Google.
  2. Chuyển đến bản dùng thử ban đầu của Proofreader API.
  3. Nhấp vào Register (Đăng ký) và điền thông tin vào biểu mẫu. Trong trường Web origin (Nguồn gốc web), hãy cung cấp nguồn gốc hoặc mã nhận dạng phần mở rộng của bạn, chrome-extension://YOUR_EXTENSION_ID.
  4. Để gửi, hãy nhấp vào Register (Đăng ký).
  5. Sao chép mã thông báo được cung cấp rồi thêm mã thông báo đó vào mọi trang web tham gia trên nguồn gốc của bạn hoặc đưa mã thông báo đó vào Tệp kê khai phần mở rộng.
  6. Bắt đầu sử dụng Proofreader API.

Tìm hiểu thêm về cách bắt đầu sử dụng bản dùng thử ban đầu.

Sử dụng Proofreader API

Để xác định xem mô hình đã sẵn sàng sử dụng hay chưa, hãy gọi Proofreader.availability(). Nếu phản hồi cho availability()"downloadable", hãy theo dõi tiến trình tải xuống và thông báo cho người dùng, vì quá trình tải xuống có thể mất thời gian.

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

Để kích hoạt quá trình tải xuống và tạo bản sao của trình hiệu đính, hãy kiểm tra xem người dùng có kích hoạt hay không. Sau đó, hãy gọi hàm không đồng bộ Proofreader.create().

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

Tạo đối tượng Proofreader

Để tạo Proofreader, hãy sử dụng hàm Proofreader.create().

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

Phương thức create() bao gồm các lựa chọn sau:

  • expectedInputLanguages: Một mảng các ngôn ngữ đầu vào dự kiến.

Các lựa chọn includeCorrectionTypesincludeCorrectionExplanation từ trình giải thích không được hỗ trợ.

Bắt đầu hiệu đính văn bản người dùng

Gọi proofread() để nhận các lỗi sửa cho văn bản đầu vào:

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

Các lỗi sửa là một loại ProofreadResult. Tìm thông tin đầu vào đã được sửa hoàn toàn trong thuộc tính correctedInput và danh sách các lỗi sửa trong mảng 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);
}

Chính sách về quyền, iframe và Web Worker

Theo mặc định, Proofreader API chỉ có sẵn cho các cửa sổ cấp cao nhất và cho các iframe cùng nguồn gốc. Có thể uỷ quyền truy cập vào API cho các iframe khác nguồn gốc bằng cách sử dụng thuộc tính allow="" của Chính sách về quyền:

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

Proofreader API không có trong Web Worker. Điều này là do sự phức tạp của việc thiết lập một tài liệu chịu trách nhiệm cho mỗi worker để kiểm tra trạng thái của Chính sách về quyền.

Bản minh hoạ

Thử nghiệm với sân chơi Proofreader API và xem mã nguồn.

Tương tác và chia sẻ ý kiến phản hồi

Proofreader API đang được thảo luận tích cực và có thể thay đổi trong tương lai. Nếu bạn dùng thử API này và có ý kiến phản hồi, chúng tôi rất mong nhận được ý kiến của bạn.

Khám phá tất cả các API AI tích hợp sử dụng mô hình, bao gồm cả mô hình ngôn ngữ lớn, trong trình duyệt.