Справочник по CLI
Ollaya — единый бинарный файл: CLI, сервер и средства запуска моделей. Если вы пользовались Ollama, команды покажутся вам знакомыми.
| Команда | Что делает |
|---|---|
ollaya serve |
Запускает сервер на 127.0.0.1:11435 |
ollaya run MODEL [STATE] |
Отвечает на вопросы о состоянии или открывает приглашение; подтягивает и загружает модель по мере необходимости |
ollaya pull MODEL |
Скачивает модель из реестра |
ollaya list (ls) |
Перечисляет модели на этой машине |
ollaya ps |
Перечисляет модели, загруженные в память |
ollaya show MODEL |
Показывает сведения о модели, её возможности и лицензию |
ollaya stop MODEL |
Выгружает работающую модель |
ollaya stop |
Останавливает сервер, запущенный CLI |
ollaya mcp [--http [ADDR]] |
Отдаёт модели ИИ-агентам по MCP (Agents) |
ollaya rm MODEL… |
Удаляет одну или несколько моделей |
ollaya cp SOURCE DESTINATION |
Копирует модель под новым именем |
ollaya create NAME [-f Modelfile] |
Создаёт модель из Modelfile |
ollaya update [--check] |
Ставит последний выпуск поверх текущего |
ollaya -v |
Печатает версию сервера (и клиента) |
Каждая команда, кроме serve и update, обращается к серверу по адресу OLLAYA_HOST. Когда там никто не отвечает, а адрес локальный, CLI (кроме ollaya stop без модели) запускает ollaya serve в фоне и пишет журнал в ~/.ollaya/logs/server.log (или server.log в OLLAYA_LOG_DIR).
Имена моделей
Модели указываются как name:tag; без tag используется latest. Имена нечувствительны к регистру.
ollaya run laya # same as laya:latest, a router
ollaya run laya:multilingual
ollaya pull laya:en-fp32
У такой модели, как laya:en, есть граф fp16 и граф fp32, которые делят один файл весов. Точность выбирается при загрузке модели: fp16 на GPU CUDA, fp32 на CPU. Теги -fp16 и -fp32 фиксируют одну из них.
ollaya run
ollaya run laya --preset triage "Your app crashed during checkout and I was charged twice. Please refund one of the charges."
run подключается к серверу (запуская его при необходимости), подтягивает модель, если её нет на этой машине, загружает её и печатает по одной строке на каждый вопрос: ответ, полосу и её вероятность.
| Флаг | Действие |
|---|---|
--preset NAME |
Использовать пресет: встроенный (triage, email, guard, moderation, router или agent) или сохранённый вами через ollaya preset create |
--questions FILE|@FILE|JSON |
Использовать эти вопросы (идентификатор вопроса → вопрос) вместо встроенных в модель: путь к файлу, @file (@- для stdin) или встроенный JSON, начинающийся с { |
--format text|json |
text (по умолчанию) печатает таблицу; json печатает полный ответ /api/decide |
--keepalive DURATION |
Как долго держать модель загруженной после этого: 5m, 1h, 0 (выгрузить сейчас), -1 (держать загруженной) |
--verbose |
Дополнительно печатает вероятность каждого варианта, решение маршрутизации и тайминги |
--state-json |
Разбирать состояние как JSON. Состояние, похожее на объект или массив JSON, распознаётся и так |
--image FILE |
Изображение PNG, о котором нужно принять решение, для визуальной модели (decider:2b-vision). Оно идёт с каждым состоянием, в том числе в REPL |
Источники вопросов, первый совпавший побеждает: --questions, затем --preset, затем вопросы, встроенные в модель (от qwen3guard или добавленные через Modelfile), затем пресет triage. Когда run откатывается к triage, он сообщает об этом в stderr.
--questions принимает JSON и прямо в командной строке, как это делает curl -d: значение, начинающееся с {, — это встроенный JSON, а всё остальное — путь к файлу. @file — всегда файл (удобно, если имя файла начинается с {), а @- читает вопросы из stdin, и тогда состояние задаётся в командной строке:
ollaya run winnow:e4b --questions '{"topic":{"type":"choice","criteria":["billing","access","other"]}}' "..."
ollaya run winnow:e4b --questions @questions.json "..."
cat questions.json | ollaya run winnow:e4b --questions @- "..."
Состояние — это остаток командной строки. Без него run читает stdin из канала:
cat ticket.txt | ollaya run laya --preset triage
В терминале без состояния run открывает приглашение. Введите состояние и нажмите Enter; несколько строк оберните в """. Команды:
| Команда | Действие |
|---|---|
/preset NAME |
Переключиться на встроенный набор вопросов |
/set questions FILE |
Использовать вопросы из файла JSON |
/show |
Показать модель и текущие вопросы |
/clear |
Очистить экран |
/bye |
Выйти (или Ctrl+D) |
/?, /help |
Справка |
ollaya serve
Запускает сервер, с которым общаются CLI и ваши приложения. Он обслуживает собственный API (/api/*) и API, совместимый с TypeSafe (/v1/*); см. Справочник по API. Установщик для Linux запускает его как службу systemd ollaya.
ollaya serve
Он нужен вам редко: остальные команды запускают сервер в фоне, когда тот не работает. Если сервер уже работает на OLLAYA_HOST, ollaya serve сообщает об этом и завершается; сначала остановите тот сервер командой ollaya stop, чтобы запустить сервер на переднем плане.
Он настраивается через переменные окружения:
| Переменная | Значение по умолчанию | Действие |
|---|---|---|
OLLAYA_HOST |
127.0.0.1:11435 |
Адрес для привязки; цель CLI |
OLLAYA_MODELS |
~/.ollaya/models |
Хранилище моделей |
OLLAYA_KEEP_ALIVE |
5m |
Как долго модель остаётся загруженной после последнего запроса |
OLLAYA_MAX_LOADED_MODELS |
3 |
Сколько моделей держать загруженными одновременно |
OLLAYA_MAX_QUEUE |
512 |
Запросов решений в обработке до 503 QUEUE_FULL |
OLLAYA_LOAD_TIMEOUT |
5m |
Сколько времени может занимать загрузка модели |
OLLAYA_DEVICE |
auto |
auto (GPU NVIDIA, если установщик добавил библиотеки CUDA, иначе CPU), cpu, cuda или cuda:<n> |
OLLAYA_API_KEY |
не задано | Требовать Authorization: Bearer <key>; CLI тоже его отправляет |
OLLAYA_ORIGINS |
не задано | Дополнительные разрешённые источники браузера, через запятую |
OLLAYA_REGISTRY |
ollaya.dev |
Хост реестра по умолчанию в именах моделей |
OLLAYA_LOG |
info |
Уровни журнала; debug пишет каждый запрос с его статусом и длительностью |
OLLAYA_LOG_DIR |
не задано | Писать журнал в <dir>/server.log вместо stderr (создаётся при отсутствии; дописывается, никогда не ротируется) |
Для службы systemd меняйте их командами sudo systemctl edit ollaya и строками Environment=.
ollaya pull
Скачивает модель и проверяет каждый слой по его sha256. Загрузка router подтягивает и каждую модель, на которую он маршрутизирует. Скачиваются только нужные этой машине слои, а прерванные загрузки возобновляются.
ollaya pull laya
ollaya list и ollaya ps
list показывает модели на этой машине с их ID, размером и временем загрузки. ps показывает загруженные модели, устройство, на котором они работают (cpu, cuda:0), точность и когда они будут выгружены.
NAME ID SIZE MODIFIED
laya:latest b87ca1631b11 11 KB 13 seconds ago
laya:multilingual ba7a334675b4 684 MB 13 seconds ago
laya:en bf30e4654e94 854 MB 30 seconds ago
ollaya show
Печатает архитектуру модели, параметры, длину контекста, точности, языки, возможности и лицензию. Для router он печатает маршруты.
| Флаг | Печатает только |
|---|---|
--questions |
Вопросы, встроенные в модель |
--license |
Лицензию |
--modelfile |
Modelfile, который воссоздаёт модель |
--parameters |
Параметры, например зафиксированную точность |
ollaya stop
ollaya stop MODEL выгружает работающую модель, как только завершатся её текущие запросы, вместо ожидания истечения keep-alive.
ollaya stop без модели останавливает сервер на OLLAYA_HOST, что выгружает все модели. Он останавливает только сервер, запущенный вами — командой ollaya serve или другой командой. Он никогда не останавливает сервер другого пользователя, например службу systemd Linux; её останавливайте через sudo systemctl stop ollaya.
ollaya rm и ollaya cp
ollaya cp laya:en my-guardrail
ollaya rm my-guardrail
rm также удаляет блобы, которые не использует ни одна другая модель. Удаление router сохраняет модели, на которые он маршрутизирует. cp перезаписывает существующую цель.
ollaya preset
Пресет — это именованный набор вопросов, который вы можете переиспользовать с любой моделью: ollaya run MODEL --preset NAME или "preset": "NAME" в /api/decide. Шесть встроено. Сохраните свой:
ollaya preset create billing-check --questions billing.json --description "Billing, and how upset the customer is"
ollaya run winnow:e4b --preset billing-check "I was charged twice this month."
| Команда | Действие |
|---|---|
ollaya preset list |
Встроенные и пользовательские пресеты с их идентификаторами вопросов |
ollaya preset show NAME |
Вопросы пресета в виде JSON |
ollaya preset create NAME --questions FILE|@FILE|JSON [--description TEXT] |
Сохранить пользовательский пресет, заменив одноимённый. --questions принимает те же формы, что и в ollaya run |
ollaya preset rm NAME... |
Удалить пользовательские пресеты. Встроенные пресеты удалить нельзя |
Имена состоят из строчных букв, цифр, - и _. Пользовательские пресеты хранит сервер (в presets/ рядом с моделями), поэтому их видят и CLI, и API, и сервер MCP. Пресет отличается от модели, сделанной через QUESTIONS в Modelfile: он не привязан к одной модели и ничего не копирует.
ollaya update
Ставит последний выпуск поверх текущего: он снова запускает установочный скрипт в тот же префикс, поэтому модели, пресеты и служба systemd остаются как были.
ollaya update --check # only say whether a newer release exists
ollaya update
Бинарный файл, пришедший с десктопным приложением (приложение macOS, установщик Windows, AppImage или пакеты .deb и .rpm), обновляется установкой нового приложения, а контейнер — загрузкой нового образа; ollaya update сообщает об этом, вместо того чтобы его менять.
ollaya create
Собирает модель из Modelfile, например чтобы запечь набор вопросов, переподобранную калибровку или зафиксированную точность. -f по умолчанию равно ./Modelfile.
ollaya create triage -f Modelfile