Дата публикации: 12 декабря 2024 г. Дата последнего обновления: 20 мая 2025 г.
Благодаря встроенным ИИ API ваше веб-приложение может выполнять задачи на основе искусственного интеллекта без необходимости развертывать собственные ИИ-модели и управлять ими. Мы работаем над тем, чтобы стандартизировать эти API для разных браузеров.
Обязательные модели
Translator API и Language Detector API используют экспертные модели. Все остальные API используют языковую модель, предназначенную для локального запуска на компьютерах и ноутбуках.
Summarizer API, Writer API, Rewriter API и Proofreader API поддерживают только создание текстов по текстовым запросам. Prompt API поддерживает мультимодальные возможности.
Модели ChromeOS
Chrome использует экспертные и базовые языковые модели. Эти модели недоступны на мобильных устройствах.
Начиная с Chrome 149 модели поддерживают английский, испанский, немецкий, французский и японский языки для ввода и вывода текста.
Требования к оборудованию
Ниже перечислены требования к разработчикам и пользователям, которые работают с функциями, использующими эти API в Chrome. Для других браузеров могут действовать другие требования.
Language Detector API и Translator API работают в Chrome на компьютерах. Эти API не работают на мобильных устройствах.
Prompt API, Summarizer API, Writer API, Rewriter API и Proofreader API работают в Chrome при соблюдении следующих условий:
- Операционная система: Windows 10 или 11; macOS 13 или более поздняя версия (Ventura и более новые); Linux; ChromeOS (начиная с версии Platform 16389.0.0) на устройствах Chromebook Plus. Chrome для Android, iOS и ChromeOS на устройствах, отличных от Chromebook Plus, пока не поддерживается API, использующими базовые модели.
- Хранилище. Не менее 22 ГБ свободного места на диске, где находится профиль Chrome.
- Графический или центральный процессор. Встроенные модели могут работать с графическим или центральным процессором.
- Графический процессор: видеопамять объемом более 4 ГБ.
- ЦП: не менее 16 ГБ ОЗУ и не менее 4 ядер ЦП.
- Примечание. Для работы Prompt API с аудиовводом требуется графический процессор.
- Сеть. Безлимитный интернет или подключение без тарификации трафика.
Точный размер Gemini Nano может меняться по мере обновления модели браузером. Чтобы узнать текущий размер, перейдите на страницу chrome://on-device-internals.
Начать разработку
Существует несколько встроенных API на основе ИИ, которые находятся на разных этапах разработки. Некоторые из них доступны в стабильной версии Chrome, другие – участникам тестирования пробных версий для источника, а третьи – только участникам программы раннего доступа.
Для каждого API есть свой набор инструкций по началу работы и скачиванию модели как для локального прототипирования, так и для рабочих сред с экспериментами с источником.
- Translator API
- Language Detector API
- Summarizer API
- Writer API и Rewriter API
- Proofreader API
- Prompt API
Все эти API можно использовать при создании расширений Chrome.
Скачивание модели
API и модели встроены в Chrome. При первом взаимодействии пользователя с этими API модель должна быть скачана в браузер.
Чтобы определить, можно ли использовать API, вызовите асинхронную функцию availability(), которая возвращает обещание с одним из следующих значений:
"unavailable"– устройство пользователя или запрошенные параметры сеанса не поддерживаются. На устройстве может быть недостаточно заряда или места на диске."downloadable": для создания сеанса требуются дополнительные скачивания, которые могут включать экспертную модель, языковую модель или тонкую настройку. Для вызова методаcreate()может потребоваться активация пользователем."downloading": загрузка ещё не завершена, поэтому вы не можете использовать сеанс."available"– сеанс можно создать сразу.
Для некоторых API при вызове доступности требуются дополнительные параметры. Например, для Prompt API необходимо указать поддерживаемые языки:
// Makes sure the model is available for English and Japanese input text,
// supports image input, and can generate English output.
await LanguageModel.availability({
expectedInputs: [{type: "text", languages: ["en", "ja"]}, {type: "image"}],
expectedOutputs: [{type: "text", languages: ["en"]}],
});
Активация пользователя
Если устройство поддерживает встроенные API ИИ, но модель ещё не скачана (то есть при вызове availability() возвращается "downloadable" или "downloading"), пользователь должен выполнить значимое действие на странице, чтобы приложение могло начать сеанс с create().
Используйте свойство UserActivation.isActive, чтобы подтвердить, что пользователь взаимодействовал со страницей после ее загрузки. Это может быть нажатие на экран, клик, нажатие клавиши, mousedown или другое событие активации.
// Check for user activation.
if (navigator.userActivation.isActive) {
// Create an instance of a built-in API
}
Например, при использовании Summarizer API вы можете попросить пользователей нажать кнопку "Обобщить", чтобы активировать Summarizer.create(), или создать обобщение, когда пользователь начнет вводить текст (событие keydown).
Устранение неполадок с localhost
Если модель работает не так, как ожидалось, выполните следующие действия:
- Перезапустите Chrome.
- Вам нужно попасть сюда:
chrome://on-device-internals. - Откройте вкладку Статус брокера и убедитесь, что нет ошибок.
- Откройте Инструменты разработчика и введите в консоли
LanguageModel.availability();. Должно быть возвращено значениеavailable.
Если необходимо, подождите некоторое время и повторите эти шаги.
Процесс стандартизации
Мы работаем над стандартизацией этих API, чтобы они работали во всех браузерах. Это означает, что мы предложили API сообществу веб-платформ и передали их в W3C Web Incubator Community Group для дальнейшего обсуждения.
Мы запрашиваем отзывы от W3C, Mozilla и WebKit по каждому API.
Взаимодействие и отзывы
Если вы попробуете встроенный ИИ и захотите поделиться мнением,
- Узнайте больше о встроенных API ИИ.
- Присоединяйтесь к программе предварительной версии, чтобы первыми узнавать о новых API и получать доступ к нашему списку рассылки.
- Если у вас есть отзыв о реализации этой функции в Chrome, сообщите о проблеме с Chromium.
- Подробнее о веб-стандартах…