Опубликовано: 24 сентября 2024 г., Последнее обновление: 20 мая 2025 г.
Объяснитель | Интернет | Расширения | Статус Chrome | Намерение |
---|---|---|---|---|
МДН | Вид | Намерение отправить |
Прежде чем переводить текст с одного языка на другой, необходимо определить, какой язык используется в данном тексте. Раньше для перевода требовалось загрузить текст в облачный сервис, выполнить перевод на сервере и затем скачать результаты.
API Language Detector работает на стороне клиента, что позволяет защитить конфиденциальность пользователей. Хотя можно предоставить специальную библиотеку, которая реализует эту функцию, её загрузка потребует дополнительных ресурсов.
Когда использовать определение языка
API определителя языка в первую очередь полезен в следующих сценариях:
- Определите язык входного текста, чтобы его можно было перевести.
- Определите язык входного текста, чтобы можно было загрузить правильную модель для задач, специфичных для конкретного языка, например, для обнаружения токсичности.
- Определите язык входного текста, чтобы его можно было правильно маркировать, например, на сайтах социальных сетей.
- Определите язык вводимого текста, чтобы можно было соответствующим образом настроить интерфейс приложения. Например, на бельгийском сайте можно отображать только интерфейс, подходящий пользователям, говорящим по-французски.
Начать
API определения языка доступен в стабильной версии Chrome 138. Запустите функцию обнаружения функций, чтобы узнать, поддерживает ли браузер API определения языка.
if ('LanguageDetector' in self) {
// The Language Detector API is available.
}
Ознакомьтесь с требованиями к оборудованию
Для разработчиков и пользователей, использующих эти API в Chrome, действуют следующие требования. Требования к работе других браузеров могут отличаться.
API определения языка и переводчика работают в Chrome на десктопе. Эти API не работают на мобильных устройствах. API Prompt, API Summarizer, API Writer и API Rewriter работают в Chrome при соблюдении следующих условий:
- Операционная система : Windows 10 или 11; macOS 13+ (Ventura и выше); или Linux. Chrome для Android, iOS и ChromeOS пока не поддерживаются API, использующими Gemini Nano.
- Хранилище : не менее 22 ГБ свободного места на томе, содержащем ваш профиль Chrome.
- Видеокарта : строго более 4 ГБ видеопамяти.
- Сеть : Безлимитные данные или безлимитное соединение.
Точный размер Gemini Nano может меняться по мере обновления модели браузером. Чтобы узнать текущий размер, посетите chrome://on-device-internals
и перейдите в раздел «Статус модели» . Откройте указанный путь к файлу , чтобы узнать размер модели.
Загрузка модели
Определение языка основано на модели, точно настроенной под конкретную задачу. Хотя API встроен в браузер, модель загружается по запросу при первой попытке сайта использовать API. В Chrome эта модель очень мала по сравнению с другими моделями. Возможно, она уже присутствует, поскольку используется другими функциями Chrome.
Чтобы проверить готовность модели к использованию, вызовите асинхронную функцию LanguageDetector.availability()
и проверьте полученное обещание. Возможны три варианта ответа:
-
"unavailable"
: запрошенные параметры не поддерживаются или модель не может быть предложена. -
"downloadable"
: запрос поддерживается, но для создания сеанса потребуется дополнительная загрузка. Эти загрузки могут включать языковую модель или тонкую настройку. -
"downloading"
: запрос поддерживается и идет загрузка, которую необходимо завершить перед созданием сеанса. -
"available"
: запрос поддерживается, и вы можете создать сеанс.
Чтобы запустить загрузку и создать экземпляр детектора языка, вызовите асинхронную функцию LanguageDetector.create()
. Если ответ на функцию availability()
— 'downloadable'
или 'downloading'
, рекомендуется отслеживать ход загрузки, чтобы уведомить пользователя, если загрузка займёт много времени.
В следующем примере показано, как инициализировать детектор языка.
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;
}
Запустите детектор языка
API определения языка использует модель ранжирования для определения языка, наиболее вероятно встречающегося в заданном фрагменте текста. Ранжирование — это тип машинного обучения, целью которого является упорядочивание элементов списка. В данном случае API определения языка ранжирует языки от наибольшей к наименьшей вероятности.
Функция detect()
может возвращать либо первый результат (наиболее вероятный ответ), либо перебирать ранжированные варианты с заданным уровнем достоверности. Этот список возвращается в виде списка объектов {detectedLanguage, confidence}
. Уровень confidence
выражается значением от 0.0
(минимальная достоверность) до 1.0
(максимальная достоверность).
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
// ...
API-площадка
Поэкспериментируйте с API определения языка на нашей площадке API . Введите текст на разных языках в текстовое поле.
Стандартизация усилий
Команда Chrome запросила обратную связь от группы технической архитектуры W3C и поинтересовалась позициями Mozilla и WebKit относительно их стандартов.
Поделитесь своим мнением
Мы хотим увидеть, что вы создаёте с помощью API определения языка. Поделитесь с нами своими веб-сайтами и веб-приложениями на X , YouTube и LinkedIn .
Если у вас есть отзыв о реализации Chrome, отправьте сообщение об ошибке Chromium .