Как добавить ИИ в мобильное приложение: облако или на устройстве
Практика3 минРедакция Innovialabs
Коротко
Облачные модели умнее и проще в запуске, но требуют сети и сервера-посредника для ключей; модели на устройстве работают быстро, офлайн и приватно, но ограничены по возможностям и поддерживаемым устройствам.
Короткий ответ
Есть два способа добавить ИИ в мобильное приложение:
- Облако: приложение отправляет запрос на сервер, где работает большая модель (через API провайдера LLM). Подходит для сложных задач: свободный диалог, анализ длинных текстов, генерация контента.
- На устройстве (on-device): модель работает прямо на телефоне. Подходит для быстрых и узких задач: распознавание текста на фото, сканирование штрихкодов, классификация изображений, короткие подсказки и суммаризация.
Часто лучший вариант — гибрид: простое и чувствительное к задержке делается на устройстве, сложное — в облаке.
Сравнение по ключевым параметрам
| Параметр | Облачные LLM API | Модель на устройстве |
|---|---|---|
| Качество на сложных задачах | высокое | ограниченное, модели меньше |
| Задержка | зависит от сети и нагрузки | низкая, без сетевого запроса |
| Офлайн | не работает | работает |
| Приватность | данные уходят на сервер | данные остаются на телефоне |
| Размер приложения | почти не меняется | растёт, если модель встроена в сборку |
| Стоимость | оплата за запросы | без платы за запросы, но расход батареи |
| Поддержка устройств | любые с интернетом | зависит от модели и мощности телефона |
| Обновление модели | на сервере, без релиза | вместе с приложением или загрузкой модели |
Инструменты на устройстве
- Core ML (iOS) — фреймворк Apple для запуска моделей на устройстве. Модели из популярных ML-фреймворков конвертируются в формат Core ML. Для типовых задач есть готовые Vision и Natural Language.
- ML Kit (Android и iOS) — готовые API Google: распознавание текста, штрихкодов, лиц, перевод, определение языка. Часть моделей встраивается в приложение, часть скачивается при первом использовании.
- Gemini Nano — компактная языковая модель Google, работающая на устройстве. Доступна только на части Android-устройств, поэтому нужен запасной вариант для остальных.
- TensorFlow Lite / LiteRT и аналоги — если у вас своя обученная модель.
Перед выбором проверьте, на каких устройствах ваших пользователей модель реально будет работать. Для аудитории с большим количеством бюджетных Android-смартфонов это критично.
Как выбрать для конкретной функции
Задайте себе четыре вопроса:
- Нужна ли работа без интернета? Сканер документов на складе или в поездке — скорее на устройстве.
- Насколько чувствительны данные? Медицинские фото, документы, личные переписки выгоднее обрабатывать локально.
- Насколько сложна задача? Свободный ответ на вопрос по каталогу или длинному договору — облако.
- Насколько важна мгновенная реакция? Подсказки при наборе текста или обработка видео с камеры в реальном времени — на устройстве.
Пример гибрида: OCR чека на телефоне через ML Kit или Vision, а разбор позиций и категоризация — облачной моделью уже по распознанному тексту, без отправки фото.
Защита API-ключей
Главное правило: ключ LLM-провайдера никогда не хранится в приложении. Приложение можно декомпилировать, а ключ извлечь — после этого кто угодно будет делать запросы за ваш счёт.
Правильная схема:
Приложение -> ваш backend (авторизация пользователя, лимиты) -> LLM API
- Ключ хранится только на сервере.
- Сервер проверяет пользователя и ограничивает число запросов на человека.
- Используйте проверку подлинности приложения (App Attest на iOS, Play Integrity на Android), чтобы отсечь запросы не из вашего приложения.
- Логируйте расход и ставьте оповещения о необычном росте запросов.
- Промпт и бизнес-логику держите на сервере: так их можно менять без релиза в сторах.
Частые ошибки
- Ключ API в коде приложения или в конфиге сборки.
- Выбор on-device модели без проверки на реальных устройствах аудитории.
- Встраивание тяжёлой модели в сборку, когда её можно скачать после установки.
- Отсутствие запасного сценария, если облако недоступно или устройство не поддерживает локальную модель.
- Отправка в облако фото и документов целиком, когда достаточно распознанного текста.