CLI-утилита для управления локальным сервером llama-server на базе Python. Позволяет запускать и переключать языковые модели (LLM) без изменения кода, используя только конфигурационный файл (config.ini). Реализован паттерн стратегия, для выбора моделей. Эта утилита разработана в первую очередь для видеокарт AMD (RX 6600 - 6700 cерии), которые не поддерживают ROCM HIP SDK, как некая альтернатива LM Studio, который не поддерживает (на момент разработки xx.03.2026) флаг -ncmoe (а также некоторые другие свежие флаги). Проект разработан, в порыве вдохновения замечательной статьёй: https://habr.com/ru/articles/961478/
- Работа с локальными LLM: Работа с моделями, расположенными локально, оффлайн/онлайн через
llama-server.exe. - Паттерн Strategy: Динамический выбор модели без перезаписи кода при запуске.
- Автозапуск дефолтной модели: При старте программы происходит отсчет 15 секунд (или другое кол-во секунд, указанное в конфиге) перед автоматической загрузкой выбранной по умолчанию модели (
default_llmиз конфига). Если пользователь введет название LLM из доступных до конца таймера, запустится введённая модель. - Управление через консоль: Команды для просмотра списка моделей, информации о текущей стратегии и переключения между ними на лету.
Проект состоит из следующих компонентов:
LLMServerRunner: Контекст — отвечает за запуск, остановку и перезагрузку сервера (llama-server.exe).LLMModel: Стратегия — хранит путь к файлу модели.gguf, флаги запуска и имя для CLI.ServerData: Данные конфигурации пути к исполняемому файлу сервера и глобальных флагах (flags).
| Запуск LLM | Автоматический запуск по умолчанию через таймер или вручную.
| Переключение моделей | Команда в консоли с именем модели переключает стратегию и перезапускает сервер (с очисткой VRAM).
| Поддержка Vulkan/rocm | Путём настраивания параметра backend в конфиге. llama.cpp на базе rocm для windows можно найти здесь: https://github.com/lemonade-sdk/llamacpp-rocm
- Python 3.12.8
llama.cpp(llama-server.exe) установлен и доступен в пути из конфига- Модели в формате
.gguf
Установите необходимые библиотеки через requirements.txt:
pip install -r requirements.txt
# Или создайте requirements.txt с этими пакетами для удобства установки одной командой