On-Device AI-асистент: розробка локального помічника

Розробка AI-асистента на пристрої (On-Device) Медичні щоденники, корпоративні документи, особисті нотатки — дані не повинні покидати пристрій. On-device LLM — це архітектурне рішення, яке гарантує приватність. Ми реалізували такі проєкти для клієнтів у MedTech та FinTech: локальний асистент працю

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
On-Device AI-асистент: розробка локального помічника
Складний
~1-2 тижні

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Розробка AI-асистента на пристрої (On-Device)

Медичні щоденники, корпоративні документи, особисті нотатки — дані не повинні покидати пристрій. On-device LLM — це архітектурне рішення, яке гарантує приватність. Ми реалізували такі проєкти для клієнтів у MedTech та FinTech: локальний асистент працює без інтернету, використовуючи лише обчислювальні ресурси смартфона. Наша команда має 5-річний досвід у мобільній розробці та понад 30 проєктів з on-device AI.

Сучасні флагмани здатні запускати 3B-моделі в INT4 квантизації зі швидкістю 15–30 токенів/сек — достатньо для діалогового асистента. Однак вибір моделі та рантайму критично впливає на продуктивність і сумісність.

Яку модель і рантайм обрати для on-device?

Apple пропонує два шляхи для iOS. Core ML — стабільний, підтримує iOS 16+, автоматично використовує Neural Engine. Модель конвертується через coremltools з PyTorch/GGUF. Обсяг після конвертації Llama 3.2 3B в INT4 — близько 1.8 ГБ.

import CoreML class OnDeviceLLM { private let model: MLModel init() throws { let config = MLModelConfiguration() config.computeUnits = .all // CPU + GPU + Neural Engine model = try LlamaModel(configuration: config).model } func generate(prompt: String) -> AsyncStream<String> { AsyncStream { continuation in Task.detached(priority: .userInitiated) { // tokenize → autoregressive decode → yield tokens let tokens = self.tokenize(prompt) for _ in 0..<512 { let nextToken = self.model.predictNextToken(tokens) continuation.yield(self.detokenize(nextToken)) if nextToken == self.eosTokenId { break } } continuation.finish() } } } } 

Apple MLX (Swift framework, iOS 16+) — більш зручний API, але вимагає iOS 16+ і працює краще на пристроях з уніфікованою пам'яттю. Офіційні конвертовані моделі від Apple доступні на Hugging Face.

llama.cpp — найбільший вибір моделей у форматі GGUF, активно підтримується спільнотою. Інтеграція через C++ bridging header складніша, ніж Core ML, але дає доступ до будь-якої GGUF-моделі.

На Android більше варіантів і менше єдиного стандарту. MediaPipe LLM Inference API (Google) — найбільш зріле рішення для Android. Підтримує Gemma 2B/7B, Phi-2, Llama 2, ExportedModels у форматі TFLite. Інтеграція через клас LlmInference:

val options = LlmInference.LlmInferenceOptions.builder() .setModelPath("/data/local/tmp/gemma-2b-it-gpu-int4.bin") .setMaxTokens(1024) .setResultListener { partialResult, done -> runOnUiThread { appendText(partialResult) } } .build() val llmInference = LlmInference.createFromOptions(context, options) llmInference.generateResponseAsync(prompt) 

TFLite з кастомним LLM runner — гнучкіше, але вимагає більше роботи з інтеграції.

ExecuTorch (Meta) — офіційний рантайм для Llama на Android, підтримує Llama 3.x напряму без конвертації. Компілюється через buck2, що нетривіально налаштувати в Gradle-проєкті.

Пристрій RAM Рекомендована модель Токени/сек
iPhone 15 Pro / 16 8 ГБ Llama 3.2 3B Q4_K_M 20–30
iPad Pro M4 16 ГБ Llama 3.1 8B Q4_K_M 15–25
Samsung S24 Ultra 12 ГБ Phi-3 Mini Q4 25–35
Бюджетні Android 4–6 ГБ Phi-3 Mini Q2 / Gemma 2B 5–15
Старі пристрої 3 ГБ Не рекомендується

Намагатися запустити 7B+ модель на телефоні з 4 ГБ RAM — гарантований OOM crash. Ми допомагаємо підібрати оптимальну модель під ваш пристрій та сценарій. При переході на on-device AI клієнти економлять до 80% на витратах на серверну інфраструктуру та хмарні обчислення.

Порівняння рантаймів для on-device AI

Runtime Платформа Сильні сторони Обмеження
Core ML iOS Стабільність, підтримка Neural Engine Тільки iOS, конвертація через coremltools
MLX iOS Простий API, швидке прототипування iOS 16+, вимагає уніфіковану пам'ять
MediaPipe LLM Android Готовий API, підтримка Google Обмежений набір моделей
ExecuTorch Android Рідна підтримка Llama, малий розмір Складна збірка, документація в розробці
llama.cpp iOS та Android Максимальний вибір моделей Складна інтеграція, low-level API

Як ми інтегруємо AI-асистента: покроковий план

  1. Аналіз цільових пристроїв — визначаємо мінімальні характеристики (RAM, чипсет, версія ОС) і підбираємо модель з оптимальним співвідношенням якість/продуктивність.
  2. Конвертація та квантизація — використовуємо INT4 (Q4_K_M) для балансу розміру та точності. Для старих пристроїв — Q2_K. Конвертуємо в Core ML / MediaPipe / ExecuTorch.
  3. Розробка UI та архітектури — створюємо екран завантаження моделі з прогресом, інтерфейс чату зі стрімінгом токенів, налаштовуємо Deep Link для виклику асистента.
  4. Інтеграція рантайму та тестування — підключаємо обраний runtime, пишемо обгортку для генерації та токенізації. Тестуємо на 5+ фізичних пристроях.
  5. Оптимізація теплового режиму — реалізуємо моніторинг ProcessInfo.thermalState (iOS) або PowerManager.thermalStatus (Android) і адаптивне зниження навантаження.
  6. Деплой та моніторинг — налаштовуємо віддалене оновлення моделі через маніфест, додаємо аналітику використання та краш-репорти.

Чому важлива правильна стратегія завантаження моделі?

Модель не можна пакувати в bundle застосунку — 1.5–3 ГБ одразу призведуть до відхилення в App Store та відлякують користувачів великим розміром APK. Правильний підхід: перший запуск → пропозиція завантажити модель → фонове завантаження з прогрес-баром → верифікація контрольної суми.

На iOS: URLSession.downloadTask з backgroundConfiguration — завантаження продовжується при переході у фон. Файл зберігається в Application Support (не Caches — там може бути видалений системою при нестачі місця). На Android: DownloadManager або WorkManager з NetworkType.UNMETERED constraint — користувач не витратить мобільний трафік.

Оновлення моделі: сервер публікує маніфест з поточною версією та SHA-256 сумою. При запуску застосунок перевіряє маніфест, якщо версія змінилася — пропонує оновити.

Чому важливо керувати тепловим станом?

Inference на Neural Engine/GPU гріє пристрій. Для довгих генерацій (>200 токенів) потрібно моніторити тепловий стан через ProcessInfo.thermalState (iOS) — при .serious знижувати n_threads або тимчасово перемикатися на CPU-only inference. На Android — PowerManager.thermalStatus. Батарейне споживання: 3B модель на iPhone 15 Pro витрачає ~5–8% батареї на 100 запитів. Це менше, ніж стрімінг відео, тому попередження користувачу не потрібні.

Що входить в роботу з інтеграції AI-асистента

  • Аналіз цільових пристроїв та підбір моделі під їх характеристики.
  • Конвертація моделі у формати Core ML / TFLite / MediaPipe.
  • Розробка UI для завантаження моделі та взаємодії.
  • Інтеграція стрімінгу токенів та управління пам'яттю.
  • Тепловий моніторинг та адаптивне зниження навантаження.
  • Тестування на фізичних пристроях (5+ популярних моделей).
  • Документація з підтримки та навчання команди.

Орієнтовні терміни

Базовий on-device асистент (одна платформа, Core ML або MediaPipe) — 4–5 тижнів. Крос-платформа з управлінням завантаженням, оновленнями та тепловим моніторингом — 8–12 тижнів. Вартість розраховується індивідуально залежно від складності та необхідної продуктивності. Замовте консультацію — ми підготуємо план та оцінку.

Детальніше про Core ML див. офіційну документацію.

Зв'яжіться з нами, щоб обговорити ваш проєкт. Ми гарантуємо стабільну роботу на пристроях з 4 ГБ RAM і вище.