Phát hiện ngôn ngữ bằng AI tích hợp sẵn

Xuất bản: ngày 24 tháng 9 năm 2024, Lần cập nhật gần đây nhất: ngày 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 Chrome 138 Chrome 138 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 dùng trong văn bản đã cho. Trước đây, để dịch, bạn cần tải văn bản lên một dịch vụ đám mây, thực hiện bản dịch trên máy chủ, sau đó tải kết quả xuống.

Language Detector API 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 tải thêm tài nguyên xuống.

Trường hợp 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 văn bản đó.
  • 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, ví dụ: 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 để giao diện của ứng dụng có thể được điều chỉnh cho phù hợp. Ví dụ: trên một trang web của Bỉ, chỉ hiển thị giao diện phù hợp với người dùng nói tiếng Pháp.

Bắt đầu

Language Detector API có trong Chrome 138 ổn định. Chạy tính năng phát hiện để xem trình duyệt có hỗ trợ Language Detector API hay không.

if ('LanguageDetector' in self) {
  // The Language Detector API is available.
}

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 những 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 API 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 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 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: VRAM phải lớn hơn 4 GB.
  • Mạng: Gói dữ liệu không giới hạn hoặc kết nối không đ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 này. Để xác định kích thước hiện tại, hãy truy cập vào chrome://on-device-internals rồi chuyển đến phần Trạng thái mô hình. Mở Đường dẫn tệp được liệt kê để xác định kích thước mô hình.

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 nhiệm 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 này sẽ được tải xuống theo yêu cầu vào 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. Có thể mô hình này đã có sẵn vì các tính năng khác của Chrome cũng 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 không đồng bộ LanguageDetector.availability() và kiểm tra lời hứa thu được. Có 3 câu trả lời có thể:

  • "unavailable": Các lựa 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 nội dung xuống trước khi có thể tạo một phiên. Các bản tải xuống này có thể bao gồm mô hình ngôn ngữ hoặc quy trình 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 này 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 thực thể cho trình phát hiện ngôn ngữ, hãy gọi hàm không đồng bộ LanguageDetector.create(). Nếu phản hồi cho availability()'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 tạo 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ữ

Language Detector API sử dụng một mô hình xếp hạng để xác định ngôn ngữ nào có khả năng được 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ình 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, Language Detector API sẽ xếp hạng các ngôn ngữ theo 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ó khả năng nhất hoặc lặp lại các đề xuất được xếp hạng với mức độ tin cậy. Đối tượng 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ị bằng một giá trị trong khoảng từ 0.0 (độ tin cậy thấp nhất) đến 1.0 (độ 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
// ...

Sân chơi API

Thử nghiệm Language Detector API trong sân chơi 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 Nhóm kiến trúc kỹ thuật của W3C đưa ra ý kiến phản hồi và hỏi MozillaWebKit về vị trí tiêu chuẩn của họ.

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 Language Detector API. Chia sẻ trang web và ứng dụng web của bạn với chúng tôi trên X, YouTubeLinkedIn.

Nếu bạn có ý kiến phản hồi về cách Chrome triển khai tính năng này, hãy báo cáo lỗi Chromium.