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 | Xem | Mục đích thử nghiệm |
Hiệu đính là quá trình tìm và sửa lỗi về 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:
- Sửa: Sửa lỗi ngữ pháp, chính tả và dấu câu trong nội dung người dùng nhập.
- Nhãn: Gắn nhãn cho từng nội dung sửa theo loại lỗi.
- Giải thích: Xác định lỗi là gì hoặc lý do cần sửa bằng ngôn ngữ thông thường.
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 nội dung sửa cho tin nhắn trên diễn đàn, bình luận về bài viết và email trước khi bài đăng được gửi.
- Đề xuất nội dung 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 dùng thử Proofreader API ban đầu, chạy trong Chrome 141 đến 145.
Xem các yêu cầu về phần cứng
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 phải đáp ứng các yêu cầu sau. Các trình duyệt khác có thể có các yêu cầu khác về hoạt động.
Language Detector và Translator 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 API và Proofreader 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: VRAM phải lớn hơn 4 GB.
- CPU: RAM phải từ 16 GB trở lên và có từ 4 lõi CPU trở lên.
- Lưu ý: Prompt API có đầu vào âm thanh yêu cầu GPU.
- Mạng: Dữ liệu không giới hạn hoặc kết nối không tính phí. Kết nối Wi-Fi và Ethernet thường không đo lượng dữ liệu theo mặc định, trong khi kết nối di động thường có đo lượng dữ liệu.
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ợ vào 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 Đã bật:
chrome://flags/#optimization-guide-on-device-modelchrome://flags/#prompt-api-for-gemini-nano-multimodal-inputchrome://flags/#proofreader-api-for-gemini-nano
Sau đó, hãy nhấp vào 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ử theo nguyên gốc
Để bắt đầu sử dụng Proofreader API, hãy làm theo các bước sau:
- Chuyển đến trang dùng thử Proofreader API bản dùng thử theo nguyên gốc.
- Nhấp vào Đăng ký rồi điền thông tin vào biểu mẫu. Trong trường Nguồn gốc trang 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. - Để gửi, hãy nhấp vào Đăng ký.
- Sao chép mã thông báo được cung cấp rồi thêm mã đó vào mọi trang web tham gia trên nguồn gốc của bạn hoặc đưa mã đó vào Tệp kê khai phần mở rộng.
- Nếu bạn đang xây dựng một Phần mở rộng, hãy làm theo hướng dẫn bản dùng thử theo nguyên gốc cho Phần mở rộng
- Bắt đầu sử dụng Proofreader API.
Tìm hiểu thêm về cách bắt đầu 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() là "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à khởi tạo trình hiệu đính, hãy kiểm tra xem
người dùng đã kích hoạt hay chưa. Sau đó, hãy gọi hàm Proofreader.create() không đồng bộ.
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 Trình hiệu đính, 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 chuỗi các ngôn ngữ đầu vào dự kiến.
Các lựa chọn includeCorrectionTypes và includeCorrectionExplanation từ
phần 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 nội dung 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.',
);
Nội dung sửa là một loại ProofreadResult. Tìm nội dung đầu vào đã được sửa hoàn toàn trong thuộc tính correctedInput và danh sách nội dung sửa trong chuỗi 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. Bạn 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 từng worker để kiểm tra trạng thái tuân thủ chính sách của Chính sách về quyền.
Bản minh hoạ
Hãy dùng thử 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.
- Đọc phần giải thích, đặt câu hỏi và tham gia thảo luận.
- Xem cách triển khai cho Chrome trên trang Trạng thái của Chrome
- Đọc vị trí của Tiêu chuẩn Mozilla và vị trí của Tiêu chuẩn WebKit.
- Tham gia chương trình xem trước sớm để xem trước các API mới và truy cập vào danh sách gửi thư của chúng tôi.
- Nếu bạn có ý kiến phản hồi về cách triển khai của Chrome, hãy báo cáo lỗi Chromium.
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.