Разработка AI-ассистента в мобильном приложении на базе Llama (Meta)

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Разработка AI-ассистента в мобильном приложении на базе Llama (Meta)
Сложная
~3-5 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    864
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Разработка AI-ассистента в мобильном приложении на базе Llama (Meta)

Llama — семейство открытых весов моделей от Meta. Это единственный выбор, когда нужен ассистент, который работает полностью на устройстве (нет сервера, нет облака, нет утечки данных), или когда требуется тонкая настройка модели под предметную область через fine-tuning на собственных данных. Но «открытые веса» не означает «работает на телефоне из коробки» — нужна существенная техническая работа по квантизации и выбору runtime.

Архитектура: on-device или серверная Llama

Два совершенно разных сценария:

On-device (Llama на устройстве) — модель загружается в память телефона, inference без интернета. Реально для Llama 3.2 1B и 3B в INT4 квантизации. Llama 3.2 3B INT4 занимает ~2 ГБ RAM и работает на iPhone 15 Pro со скоростью 15–25 токенов/сек.

Серверная Llama — модель на собственном GPU-сервере (или арендованном), мобильный клиент общается через API. Позволяет использовать Llama 3.3 70B или Llama 3.1 405B — полноценные модели, неотличимые по качеству от GPT-4.

Для большинства коммерческих приложений — серверный вариант. On-device оправдан при жёстких требованиях к приватности (медицинские данные не покидают устройство) или при работе без интернета.

On-Device: llama.cpp, Core ML, ExecuTorch

llama.cpp — наиболее зрелый runtime для запуска GGUF-моделей. На iOS: компилируется как C++ библиотека, вызывается через Objective-C++ bridging header. На Android: через JNI. Сложность — сборка под разные архитектуры (arm64-v8a для современных устройств, armeabi-v7a для старых).

// iOS — минимальная обёртка над llama.cpp
class LlamaContext {
    private var context: OpaquePointer?

    init(modelPath: String) {
        var params = llama_context_default_params()
        params.n_ctx = 4096
        params.n_threads = 4  // меньше потоков — меньше нагрев
        let model = llama_load_model_from_file(modelPath, llama_model_default_params())
        context = llama_new_context_with_model(model, params)
    }

    func generate(prompt: String, maxTokens: Int = 256) -> AsyncStream<String> {
        // tokenize → sample loop → detokenize
    }
}

Apple MLX / Core ML — Apple предоставляет официальный конвертер для Llama моделей в Core ML формат. Преимущество: Neural Engine задействуется автоматически, inference быстрее и холоднее, чем через CPU. Ограничение: только iOS 17+.

ExecuTorch — Facebook's runtime для мобилей, официально поддерживает Llama 3. Более сложная сборка, но лучшая интеграция с Android Neural Networks API.

Квантизация: выбор точности

Тип Размер (3B) Качество Скорость
FP16 ~6 ГБ Эталонное Медленно
Q8_0 ~3.3 ГБ ≈FP16 Умеренно
Q4_K_M ~2.0 ГБ Хорошее Быстро
Q2_K ~1.3 ГБ Заметно хуже Очень быстро

Для большинства мобильных задач — Q4_K_M оптимальный баланс. Q2_K можно рассматривать для устройств с 4 ГБ RAM.

Серверная Llama: Ollama и vLLM

Для серверного деплоя — Ollama (простота) или vLLM (производительность). Ollama поднимает OpenAI-совместимый API: POST /api/chat, формат запроса идентичен OpenAI Chat Completions. Мобильный клиент, написанный для OpenAI, работает с Ollama без изменений — нужно только поменять base URL.

vLLM предпочтительнее для продакшена с нагрузкой: continuous batching, tensor parallelism на нескольких GPU, throughput в разы выше Ollama.

Fine-tuning: когда нужен и как

Базовая Llama достаточна для общего ассистента. Fine-tuning оправдан когда нужна специализация: медицинские термины, юридический стиль, специфика отрасли. LoRA/QLoRA — стандартный подход для fine-tuning на одном GPU. Обученные адаптеры (~50–100 МБ) загружаются поверх базовой модели.

Ориентиры по срокам

Серверная Llama с Ollama и мобильным клиентом — 1–2 недели. On-device через llama.cpp со сборкой под iOS/Android и управлением загрузкой модели — 3–5 недель. Fine-tuning + деплой — отдельная оценка.