Прямо сейчас в твоём телефоне может появиться умный ИИ без интернета! 🚀 Cactus — это открытая альтернатива Ollama, которая запускает большие языковые модели локально на смартфоне. Больше не нужен облачный доступ — все вычисления идут на устройстве. Теперь можно создавать персональных AI-ассистентов, которые работают даже без сети. 🔒 Безопасность? Максимальная! Данные не утекают к серверам. Для гиков: проект полностью open-source, можно кастомизировать под свои нужды. Ставь, тестируй, делись впечатлениями! 🤖 Уже доступно для iOS и Android. Готов к скачиванию!
Cactus: Интеллектуальный on-device фреймворк для запуска LLM, VLM и TTS на мобильных и embedded-устройствах
Технический обзор и архитектура
Cactus представляет собой open-source фреймворк для деплоя нейросетевых моделей (LLM, VLM, TTS) непосредственно на мобильных устройствах. Написанный на C++ для максимальной производительности, фреймворк предлагает интеграционные слойи для Flutter и React Native. Ключевая инновация — гибридная архитектура, сочетающая локальное исполнение с автоматическим переходом на облачные модели.
Архитектурные компоненты
- Ядро на C++: Оптимизировано под ARM-архитектуры с использованием llama.cpp для эффективного вывода
- Мультимодельная поддержка: Единый API для LLM, vision-language моделей (VLM), текстово-речевого синтеза (TTS) и embeddings
- Кроссплатформенные биндинги: Нативные модули для Flutter (Dart) и React Native (JavaScript/TypeScript)
- Гибридный движок: Динамическое переключение между on-device и cloud-режимами
Технические характеристики и возможности
Поддержка моделей и квантования
Cactus поддерживает любые GGUF-модели из Hugging Face Hub, включая Qwen, Gemma, Llama, и DeepSeek. Ключевые особенности:
- Поддержка квантования от FP32 до 2-битных моделей
- Автоматическое определение архитектуры модели
- Контекст до 2048 токенов в базовой конфигурации
// Пример инициализации LLM в Flutter
final lm = await CactusLM.init(
modelUrl: 'huggingface/gguf/link',
contextSize: 2048,
);
Гибридное исполнение и MCP Tool-Calls
Архитектурный компромисс между производительностью и функциональностью:
- Стратегии исполнения:
- local: строго на устройстве
- localfirst: с откатом на облако
- remotefirst: приоритет облаку
- remote: строго облачное исполнение
- MCP Tool-Calls: Интеграция с системными API для:
- Установки напоминаний
- Поиска в галерее
- Управления сообщениями
Производительность и бенчмарки
| Устройство | Gemma3 1B Q4 (токен/с) | Qwen3 4B Q4 (токен/с) |
|---|---|---|
| iPhone 16 Pro Max | 54 | 18 |
| Samsung S24 Ultra | 42 | 14 |
| OnePlus 12 | 35 | 11 |
Факторы производительности: Архитектура ЦП/ГП, тепловой режим, оптимизация памяти.
Практическое внедрение
Интеграция в Flutter
- Добавление зависимости:
flutter pub add cactus - Инициализация модели с указанием URL GGUF-файла
- Реализация обработки мультимодальных запросов
// VLM обработка изображений в Flutter
final response = await vlm.completion(
messages,
imagePaths: ['/path/to/image.jpg'],
maxTokens: 200
);
React Native реализация
// Инициализация в React Native
const {lm} = await CactusLM.init({
model: '/path/to/model.gguf',
n_ctx: 2048,
});
Нативная сборка (C++)
./scripts/build-flutter-android.sh
./scripts/build-flutter.sh
Корпоративные сценарии использования
Преимущества для enterprise
- Конфиденциальность данных: Локальная обработка чувствительной информации
- Автономная работа: Функционирование без интернет-соединения
- Cost efficiency: Снижение расходов на облачные API
Отраслевые кейсы
- Медицина: Локальная обработка медицинских изображений
- Финансы: Анализ документов на устройстве
- Розничная торговля: Персонализированные рекомендации в офлайн-режиме
Ограничения и развитие
Технические ограничения
- Поддержка только GGUF-формата моделей
- Ограниченный контекст (2048 токенов в базовой версии)
- Аппаратные требования для крупных моделей
Roadmap и перспективы
- Интеграция с аппаратными ускорителями (NPU)
- Поддержка новых форматов моделей
- Расширение MCP API для системной интеграции
Заключение
Cactus устанавливает новый стандарт для on-device ИИ, предлагая сбалансированный подход между производительностью и энергоэффективностью. При оптимальном квантовании моделей, фреймворк обеспечивает практическую применимость на широком спектре устройств. Для корпоративных внедрений рекомендована поэтапная интеграция с фокусом на сценариях, требующих повышенной конфиденциальности данных.