Ngày xuất bản: 24 tháng 9 năm 2024, Ngày cập nhật gần đây nhất: 20 tháng 5 năm 2025
Video giải thích | Web | Phần mở rộng | Trạng thái của Chrome | Intent |
---|---|---|---|---|
MDN | Xem | Ý định vận chuyển |
Trước khi dịch văn bản từ ngôn ngữ này sang ngôn ngữ khác, trước tiên, bạn phải xác định ngôn ngữ được sử dụng trong văn bản đã cho. Trước đây, để dịch, bạn phải tải văn bản lên một dịch vụ đám mây, thực hiện việc dịch trên máy chủ, sau đó tải kết quả xuống.
API Trình phát hiện ngôn ngữ hoạt động ở phía máy khách, tức là bạn có thể bảo vệ quyền riêng tư của người dùng. Mặc dù có thể gửi một thư viện cụ thể thực hiện việc này, nhưng bạn sẽ cần thêm tài nguyên để tải xuống.
Trường hợp nên sử dụng tính năng phát hiện ngôn ngữ
API Trình phát hiện ngôn ngữ chủ yếu hữu ích trong các trường hợp sau:
- Xác định ngôn ngữ của văn bản đầu vào để có thể dịch.
- Xác định ngôn ngữ của văn bản đầu vào để có thể tải mô hình chính xác cho các tác vụ theo ngôn ngữ cụ thể, chẳng hạn như phát hiện nội dung độc hại.
- Xác định ngôn ngữ của văn bản đầu vào để có thể gắn nhãn chính xác, chẳng hạn như trong các trang web mạng xã hội trực tuyến.
- Xác định ngôn ngữ của văn bản đầu vào để có thể điều chỉnh giao diện của ứng dụng cho phù hợp. Ví dụ: trên một trang web ở Bỉ, chỉ hiển thị giao diện liên quan đến người dùng nói tiếng Pháp.
Bắt đầu
API Trình phát hiện ngôn ngữ có trong Chrome 138 phiên bản ổn định. Chạy tính năng phát hiện để xem trình duyệt có hỗ trợ API Trình phát hiện ngôn ngữ hay không.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Xem xét các yêu cầu về phần cứng
API Trình phát hiện ngôn ngữ và API Dịch chỉ hoạt động trên máy tính trong Chrome.
Prompt API, Summarizer API, Writer API và Rewriter 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); hoặc Linux. Chrome dành cho Android, iOS và ChromeOS chưa được các API của chúng tôi hỗ trợ Gemini Nano.
- Dung lượng lưu trữ: Ít nhất 22 GB trên phương tiện lưu trữ chứa hồ sơ Chrome của bạn.
- GPU: VRAM phải lớn hơn 4 GB.
- Mạng: Dữ liệu không giới hạn hoặc kết nối không đo lượng dữ liệu.
Các yêu cầu này dành cho bạn trong quá trình phát triển và dành cho người dùng sử dụng các tính năng mà bạn xây dựng.
Tải mô hình xuống
Tính năng phát hiện ngôn ngữ phụ thuộc vào một mô hình được tinh chỉnh cho tác vụ cụ thể là phát hiện ngôn ngữ. Mặc dù API được tích hợp trong trình duyệt, nhưng mô hình sẽ được tải xuống theo yêu cầu trong lần đầu tiên một trang web cố gắng sử dụng API. Trong Chrome, mô hình này rất nhỏ so với các mô hình khác. Mô hình này có thể đã có sẵn vì các tính năng khác của Chrome cũng sử dụng mô hình này.
Để xem mô hình đã sẵn sàng để sử dụng hay chưa, hãy gọi hàm LanguageDetector.availability()
không đồng bộ và kiểm tra lời hứa thu được.
Có 3 câu trả lời có thể xảy ra:
"unavailable"
: Các tuỳ chọn được yêu cầu không được hỗ trợ hoặc không thể nhắc mô hình."downloadable"
: Yêu cầu được hỗ trợ, nhưng bạn cần tải thêm xuống trước khi có thể tạo phiên. Các tệp tải xuống này có thể bao gồm mô hình ngôn ngữ hoặc tính năng tinh chỉnh."downloading"
: Yêu cầu được hỗ trợ và quá trình tải xuống đang diễn ra. Bạn phải hoàn tất quá trình tải xuống trước khi tạo phiên."available"
: Yêu cầu được hỗ trợ và bạn có thể tạo một phiên.
Để kích hoạt quá trình tải xuống và tạo bản sao trình phát hiện ngôn ngữ, hãy gọi hàm LanguageDetector.create()
không đồng bộ. Nếu phản hồi cho availability()
là 'downloadable'
hoặc 'downloading'
, thì tốt nhất bạn nên theo dõi tiến trình tải xuống để có thể thông báo cho người dùng trong trường hợp quá trình tải xuống mất nhiều thời gian.
Ví dụ sau đây minh hoạ cách khởi chạy trình phát hiện ngôn ngữ.
const availability = await LanguageDetector.availability();
let detector;
if (availability === 'unavailable') {
// The language detector isn't usable.
return;
}
if (availability === 'available') {
// The language detector can immediately be used.
detector = await LanguageDetector.create();
} else {
// The language detector can be used after model download.
detector = await LanguageDetector.create({
monitor(m) {
m.addEventListener('downloadprogress', (e) => {
console.log(`Downloaded ${e.loaded * 100}%`);
});
},
});
await detector.ready;
}
Chạy trình phát hiện ngôn ngữ
API Trình phát hiện ngôn ngữ sử dụng mô hình xếp hạng để xác định ngôn ngữ có nhiều khả năng được sử dụng nhất trong một đoạn văn bản nhất định. Xếp hạng là một loại học máy, trong đó mục tiêu là sắp xếp danh sách các mục. Trong trường hợp này, API Trình phát hiện ngôn ngữ xếp hạng các ngôn ngữ theo thứ tự xác suất từ cao nhất đến thấp nhất.
Hàm detect()
có thể trả về kết quả đầu tiên, câu trả lời có nhiều khả năng nhất hoặc lặp lại các đề xuất được xếp hạng theo mức độ tự tin.
Kết quả này được trả về dưới dạng danh sách các đối tượng {detectedLanguage, confidence}
. Mức confidence
được biểu thị dưới dạng một giá trị nằm trong khoảng từ 0.0
(mức độ tin cậy thấp nhất) đến 1.0
(mức độ tin cậy cao nhất).
const someUserText = 'Hallo und herzlich willkommen!';
const results = await detector.detect(someUserText);
for (const result of results) {
// Show the full list of potential languages with their likelihood, ranked
// from most likely to least likely. In practice, one would pick the top
// language(s) that cross a high enough threshold.
console.log(result.detectedLanguage, result.confidence);
}
// (Output truncated):
// de 0.9993835687637329
// en 0.00038279531872831285
// nl 0.00010798392031574622
// ...
Khu vui chơi API
Thử nghiệm với API Trình phát hiện ngôn ngữ trong API playground (môi trường thử nghiệm API) của chúng tôi. Nhập văn bản được viết bằng nhiều ngôn ngữ vào vùng văn bản.
Nỗ lực chuẩn hoá
Nhóm Chrome đã yêu cầu ý kiến phản hồi từ Nhóm cấu trúc kỹ thuật W3C và hỏi Mozilla và WebKit về quan điểm của họ đối với các tiêu chuẩn.
Chia sẻ ý kiến phản hồi của bạn
Chúng tôi muốn xem những gì bạn đang xây dựng bằng API Trình phát hiện ngôn ngữ. Chia sẻ trang web và ứng dụng web của bạn với chúng tôi trên X, YouTube và LinkedIn.
Nếu bạn muốn phản hồi về cách triển khai của Chrome, hãy báo cáo lỗi Chromium.