Большинство ИИ-функций в приложениях отправляют ваши данные на сервер и ждут ответа. Но всё больше моделей достаточно малы, чтобы работать прямо на телефоне. Для HTML-приложения это означает ИИ-функции, которые работают офлайн, ничего не стоят при каждом использовании и хранят данные на устройстве.
Как это работает
Библиотеки вроде Transformers.js и ONNX Runtime Web запускают модели в движке браузера с помощью WebAssembly. WebAssembly поддерживается в Android System WebView, на котором работают приложения, созданные в Free HTML to APK, поэтому тот же код, что работает в Chrome на вашем ноутбуке, может работать внутри вашего приложения.
Более быстрое GPU-ускорение через WebGPU приходит, но поддержка в Android WebView пока неравномерна на разных устройствах. Рассчитывайте на WebAssembly, а скорость GPU считайте бонусом.
Что хорошо работает на телефоне сегодня
- Классификация текста, например определение тональности или спама. Небольшие модели, быстрые ответы.
- Эмбеддинги и семантический поиск по собственному контенту вашего приложения, для поиска вроде «найти заметки о…».
- Классификация изображений и простое обнаружение объектов на фото, выбранных пользователем.
- Преобразование речи в текст с помощью компактных моделей, для коротких записей.
- Перевод между несколькими парами языков с помощью небольших специализированных моделей.
Что по-прежнему остаётся в облаке
Большие чат-модели, пишущие длинные ответы, по-прежнему слишком велики и медленны для большинства телефонов. Для универсального ассистента используйте сервер с правильным прокси, как объяснено в нашем руководстве по чатботам.
Практические советы
- Размер модели — это размер приложения. Модель, встроенная в приложение, увеличивает APK. Модели в десятки мегабайт — нормально. Сотни мегабайт — для большинства пользователей нет.
- Скачивайте при первом использовании, если модель большая, и кэшируйте её, вместо того чтобы встраивать. Скажите пользователю, насколько велика загрузка.
- Запускайте в Web Worker, чтобы интерфейс оставался плавным, пока модель думает.
- Тестируйте на недорогом телефоне. Флагман скрывает проблемы, которые бюджетное устройство покажет сразу.
Зачем это нужно
ИИ на устройстве приватен по своей природе, потому что ничто не покидает телефон. Он работает в самолёте. И у него нет платы за запрос, что очень важно, если ваше приложение станет популярным. Для многих небольших функций такое сочетание лучше облачного API.