Ollivo 0.3: программа для Windows оценивает, потянет ли компьютер нейросеть, до скачивания

Разработчик выпустил Ollivo 0.3 — программу для Windows, в которой локальные нейросети запускаются как обычное приложение. Главная функция — оценка, потянет ли компьютер модель, ещё до её скачивания.

Главное
  • Ollivo 0.3 работает с любым GGUF-файлом, модели можно перетащить в окно или найти в каталоге и на HuggingFace.
  • Программа показывает шкалу совместимости и примерную скорость модели до загрузки, читая заголовок файла или оценивая по каталогу.
  • Оболочка построена на Tauri 2 и React, ядро на Rust; движки llama.cpp, whisper.cpp и ComfyUI запускаются внутри одного Job Object.
Интерфейс приложения Ollivo для запуска локальных нейросетей на Windows
Фото: Хабр: Машинное обучение

Разработчик представил Ollivo 0.3 — программу для Windows, в которой локальные модели запускаются как обычное приложение. Поставил, выбрал модель, пишешь. Переписка никуда не уходит, интернет нужен только чтобы скачать модель. Код проекта открыт.

Зачем это нужно

Автор объясняет проект тремя причинами: он сам прошёл через настройку Python, CUDA и torch под свою видеокарту; хотел, чтобы локальными моделями пользовались люди, не знающие слов «квантизация» и «контекст»; и устал от разбросанности — текст в LM Studio или Ollama, картинки в ComfyUI, у каждой своя папка с моделями на десятки гигабайт.

Из этого выросло правило проекта: если что-то нельзя объяснить одной понятной фразой, в простой режим оно не попадает. Поэтому в окне нет слова «токены», скорость показана в словах в секунду и сравнивается со скоростью чтения, а вместо «Q4_K_M» написано «обычный выбор: почти как оригинал, а места вдвое меньше».

Что уже работает

  • Мастер первого запуска проверяет видеокарту и драйвер, предлагает диск, проверяет интернет и прокси. Прав администратора не просит.
  • Поддержка любого GGUF, перетаскивание файла в окно, поиск уже скачанных моделей в LM Studio, Ollama и ComfyUI без копирования.
  • Чат с разметкой и кодом, история с поиском, роли и манера ответа, автоматический расчёт слоёв на видеокарту и памяти под разговор.
  • Работа с документами (PDF, DOCX, ODT, TXT), фото для моделей со зрением, диктовка и расшифровка записей, включая голосовые из Telegram.
  • Папка проекта: модель читает, ищет и правит файлы в режимах «Вручную», «Авто» и «План», любое изменение можно вернуть.

Картинок в окне пока нет — это следующая большая версия.

«Светофор»: узнать до скачивания

Для каждой модели в каталоге программа показывает шкалу «влезет ли» и примерную скорость. Скачивать ради этого ничего не нужно. Если файл уже на диске, программа читает только его заголовок: в GGUF там лежат архитектура, число слоёв, сжатие, размер контекста. Для моделей из каталога оценка грубее: к весам добавляется 700 МБ плюс восьмая часть их размера на память разговора и буферы.

Скорость прикидывается от пропускной способности памяти видеокарты: берётся примерно 60% пропускной способности и делится на размер модели. Для Llama 3.1 8B в сжатии Q4 на GTX 1080 выходит около 37 токенов в секунду. Для моделей «из частей» (MoE) скорость считается по работающей части. Если выходит меньше трёх токенов в секунду, программа так и пишет — до скачивания.

Как устроено

Оболочка на Tauri 2 и React, ядро на Rust. Tauri выбран из-за размера: установщик около 10 МБ против примерно 150 МБ у Electron. Python нужен только для картинок и ставится, когда человек их попросит; чат работает сразу, без пяти гигабайт torch.

Ядро управляет движками: llama.cpp (llama-server) для текста и зрения, whisper.cpp для голоса, ComfyUI без веб-интерфейса для картинок через его API. Все движки запускаются внутри одного Job Object с флагом «убить при закрытии» — если Ollivo закрылась или упала, Windows сама завершает движки, и видеопамять не остаётся занятой. Модели не копируются, программа запоминает путь к файлу. Файлы в формате pickle (.ckpt, .pt) не открываются, потому что в них может быть исполняемый код.

Автообновление сделано в самом начале, обновления подписаны.

Для профиТехнические детали: архитектура, цифры, ссылки

Тестовый компьютер автора: GTX 1080 на 8 ГБ, 32 ГБ оперативной памяти. На Qwen2.5 3B замеры сборок llama.cpp:

  • CUDA 12 — архив 242 + 373 МБ, 52 ток/с;
  • CUDA 13 — архив 143 + 403 МБ, падает;
  • Vulkan — архив 30 МБ, 81 ток/с.

CUDA 13 на видеокартах поколения Pascal (GTX 10xx) не работает. Vulkan генерирует в полтора раза быстрее, весит в двадцать раз меньше и не требует библиотек CUDA, но длинный запрос читает медленнее. По умолчанию для чата стоит Vulkan, сборка CUDA выбирается по поколению видеокарты.

Загрузка с HuggingFace: в один поток — 0,75 МБ/с, в восемь потоков через Range — 5,7 МБ/с. Восемь потоков сначала давали те же 0,6 МБ/с, потому что reqwest по HTTP/2 пускал их через одно соединение; клиент загрузок принудительно ходит по HTTP/1.1. SHA256 файла HuggingFace отдаёт в заголовке X-Linked-ETag, что позволяет проверять целостность без своего списка хешей.

Qwen вставляет китайские слова в русский текст даже при температуре 0. Для роли переводчика иероглифы запрещены грамматикой llama.cpp — это стоит около 7% скорости.

Вопросы и ответы

Что такое Ollivo?
Программа для Windows, в которой локальные модели запускаются как обычное приложение: поставил, выбрал модель, пишешь.
Нужно ли скачивать модель, чтобы узнать, потянет ли её компьютер?
Нет. Программа показывает шкалу совместимости и примерную скорость до скачивания, читая заголовок файла или оценивая по каталогу.
Какие модели поддерживаются?
Любой GGUF, включая уже скачанные в LM Studio, Ollama и ComfyUI. Файлы в формате pickle (.ckpt, .pt) не открываются.