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 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 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: 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ết nối Wi-Fi và Ethernet thường không tính phí theo mặc định, trong khi kết nối di động thườ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-modelchrome://flags/#prompt-api-for-gemini-nano-multimodal-inputchrome://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:
- 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.
- Chuyển đến bản dùng thử ban đầu của Proofreader API.
- 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. - Để gửi, hãy nhấp vào Register (Đăng ký).
- 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.
- 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 về bản dùng thử ban đầu của 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 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() 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à 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 includeCorrectionTypes và includeCorrectionExplanation 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.
- Đọc phần giải thích, đặt câu hỏi và tham gia thảo luận.
- Xem lại cách triển khai cho Chrome trên Trạng thái của Chrome
- Đọc vị trí Tiêu chuẩn của Mozilla và vị trí Tiêu chuẩn của 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.