Referência da CLI
Ollaya é um único binário: a CLI, o servidor e os executores de modelos. Se já usaste o Ollama, os comandos vão parecer-te familiares.
| Comando | O que faz |
|---|---|
ollaya serve |
Inicia o servidor em 127.0.0.1:11435 |
ollaya run MODEL [STATE] |
Responde a perguntas sobre um estado, ou abre um prompt; transfere e carrega o modelo conforme necessário |
ollaya pull MODEL |
Transfere um modelo do registo |
ollaya list (ls) |
Lista os modelos desta máquina |
ollaya ps |
Lista os modelos carregados na memória |
ollaya show MODEL |
Mostra os detalhes, as capacidades e a licença de um modelo |
ollaya stop MODEL |
Descarrega um modelo em execução |
ollaya stop |
Para o servidor que a CLI iniciou |
ollaya mcp [--http [ADDR]] |
Serve os modelos a agentes de IA via MCP (Agents) |
ollaya rm MODEL… |
Remove um ou mais modelos |
ollaya cp SOURCE DESTINATION |
Copia um modelo com um novo nome |
ollaya create NAME [-f Modelfile] |
Cria um modelo a partir de um Modelfile |
ollaya update [--check] |
Instala a versão mais recente por cima desta |
ollaya -v |
Imprime a versão do servidor (e do cliente) |
Todos os comandos, exceto serve e update, comunicam com o servidor em OLLAYA_HOST. Quando nada responde ali e o endereço é local, a CLI (exceto ollaya stop sem modelo) inicia ollaya serve em segundo plano, registando em ~/.ollaya/logs/server.log (ou server.log em OLLAYA_LOG_DIR).
Nomes de modelos
Os modelos são referenciados como name:tag; sem tag, é usado latest. Os nomes não distinguem maiúsculas de minúsculas.
ollaya run laya # same as laya:latest, a router
ollaya run laya:multilingual
ollaya pull laya:en-fp32
Um modelo como laya:en traz um grafo fp16 e um fp32 que partilham um mesmo ficheiro de pesos. A precisão é escolhida quando o modelo carrega: fp16 numa GPU CUDA, fp32 na CPU. As tags -fp16 e -fp32 fixam uma delas.
ollaya run
ollaya run laya --preset triage "Your app crashed during checkout and I was charged twice. Please refund one of the charges."
run liga-se ao servidor (iniciando-o se for preciso), transfere o modelo se ele não estiver nesta máquina, carrega-o e imprime uma linha por pergunta: a resposta, uma barra e a sua probabilidade.
| Opção | Efeito |
|---|---|
--preset NAME |
Usa um preset: integrado (triage, email, guard, moderation, router ou agent) ou um que guardaste com ollaya preset create |
--questions FILE|@FILE|JSON |
Usa estas perguntas (id da pergunta → pergunta), substituindo as do próprio modelo: um caminho de ficheiro, @file (@- para stdin), ou JSON embutido a começar por { |
--format text|json |
text (predefinido) imprime a tabela; json imprime a resposta completa de /api/decide |
--keepalive DURATION |
Durante quanto tempo manter o modelo carregado depois: 5m, 1h, 0 (descarregar agora), -1 (manter carregado) |
--verbose |
Imprime também a probabilidade de cada opção, a decisão de encaminhamento e os tempos |
--state-json |
Interpreta o estado como JSON. Um estado que se parece com um objeto ou array JSON é detetado de qualquer forma |
--image FILE |
Uma imagem PNG sobre a qual decidir, para um modelo de visão (decider:2b-vision). Acompanha todos os estados, inclusive no REPL |
De onde vêm as perguntas, a primeira correspondência vence: --questions, depois --preset, depois as perguntas embutidas no modelo (as do qwen3guard, ou as adicionadas com um Modelfile), depois o preset triage. Quando run recorre a triage, avisa em stderr.
--questions também aceita o JSON diretamente na linha de comando, como o curl -d: um valor que começa por { é JSON embutido, e qualquer outra coisa é um caminho de ficheiro. @file é sempre um ficheiro (útil se um nome de ficheiro começar por {), e @- lê as perguntas da stdin, caso em que o estado vai na linha de comando:
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 @- "..."
O estado é o resto da linha de comando. Sem um, run lê a stdin canalizada:
cat ticket.txt | ollaya run laya --preset triage
Num terminal sem um estado, run abre um prompt. Escreve um estado e prime Enter; envolve várias linhas em """. Comandos:
| Comando | Efeito |
|---|---|
/preset NAME |
Muda para um conjunto de perguntas integrado |
/set questions FILE |
Usa as perguntas de um ficheiro JSON |
/show |
Mostra o modelo e as perguntas atuais |
/clear |
Limpa o ecrã |
/bye |
Sai (ou Ctrl+D) |
/?, /help |
Ajuda |
ollaya serve
Inicia o servidor com o qual a CLI e as tuas aplicações comunicam. Serve a API nativa (/api/*) e a API compatível com a TypeSafe (/v1/*); vê a referência da API. O instalador do Linux executa-o como o serviço systemd ollaya.
ollaya serve
Raramente precisas dele: os outros comandos iniciam o servidor em segundo plano quando ele não está a correr. Se um servidor já corre em OLLAYA_HOST, ollaya serve avisa e sai; para esse primeiro com ollaya stop para correr o servidor em primeiro plano.
É configurado com variáveis de ambiente:
| Variável | Predefinição | Efeito |
|---|---|---|
OLLAYA_HOST |
127.0.0.1:11435 |
Endereço a escutar; o alvo da CLI |
OLLAYA_MODELS |
~/.ollaya/models |
Repositório de modelos |
OLLAYA_KEEP_ALIVE |
5m |
Durante quanto tempo um modelo fica carregado após o último pedido |
OLLAYA_MAX_LOADED_MODELS |
3 |
Modelos mantidos carregados ao mesmo tempo |
OLLAYA_MAX_QUEUE |
512 |
Pedidos de decisão em curso antes de 503 QUEUE_FULL |
OLLAYA_LOAD_TIMEOUT |
5m |
Quanto tempo um modelo pode levar a carregar |
OLLAYA_DEVICE |
auto |
auto (uma GPU NVIDIA quando o instalador adicionou as bibliotecas CUDA, senão a CPU), cpu, cuda ou cuda:<n> |
OLLAYA_API_KEY |
não definido | Exige Authorization: Bearer <key>; a CLI também o envia |
OLLAYA_ORIGINS |
não definido | Origens de navegador extra permitidas, separadas por vírgula |
OLLAYA_REGISTRY |
ollaya.dev |
Host de registo predefinido nos nomes de modelos |
OLLAYA_LOG |
info |
Níveis de registo; debug registe cada pedido com o seu estado e duração |
OLLAYA_LOG_DIR |
não definido | Regista em <dir>/server.log em vez de stderr (criado se faltar; acrescentado, nunca rodado) |
Para o serviço systemd, altera-as com sudo systemctl edit ollaya e linhas Environment=.
ollaya pull
Transfere um modelo e verifica cada camada pelo seu sha256. Transferir um encaminhador também transfere cada modelo para o qual ele encaminha. Só as camadas de que esta máquina precisa são transferidas, e transferências interrompidas retomam.
ollaya pull laya
ollaya list e ollaya ps
list mostra os modelos desta máquina com o seu ID, tamanho e quando foram transferidos. ps mostra os modelos carregados, o dispositivo em que correm (cpu, cuda:0), a precisão e quando serão descarregados.
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
Imprime a arquitetura de um modelo, os parâmetros, o comprimento de contexto, as precisões, os idiomas, as capacidades e a licença. Para um encaminhador, imprime as rotas.
| Opção | Imprime apenas |
|---|---|
--questions |
As perguntas embutidas no modelo |
--license |
A licença |
--modelfile |
Um Modelfile que recria o modelo |
--parameters |
Os parâmetros, como uma precisão fixada |
ollaya stop
ollaya stop MODEL descarrega um modelo em execução assim que os seus pedidos em curso terminam, em vez de esperar que o keep-alive acabe.
ollaya stop sem modelo para o servidor em OLLAYA_HOST, o que descarrega todos os modelos. Só para um servidor que tu iniciastes, com ollaya serve ou correndo outro comando. Nunca para o servidor de outro utilizador, como o serviço systemd do Linux; para esse com sudo systemctl stop ollaya.
ollaya rm e ollaya cp
ollaya cp laya:en my-guardrail
ollaya rm my-guardrail
rm também elimina os blobs que nenhum outro modelo usa. Remover um encaminhador mantém os modelos para os quais ele encaminha. cp substitui um destino existente.
ollaya preset
Um preset é um conjunto de perguntas com nome que podes reutilizar com qualquer modelo: ollaya run MODEL --preset NAME, ou "preset": "NAME" em /api/decide. Seis são integrados. Guarda os teus:
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."
| Comando | Efeito |
|---|---|
ollaya preset list |
Presets integrados e personalizados, com os seus ids de perguntas |
ollaya preset show NAME |
As perguntas de um preset, como JSON |
ollaya preset create NAME --questions FILE|@FILE|JSON [--description TEXT] |
Guarda um preset personalizado, substituindo um com o mesmo nome. --questions aceita as mesmas formas que em ollaya run |
ollaya preset rm NAME... |
Elimina presets personalizados. Os presets integrados não podem ser eliminados |
Os nomes são letras minúsculas, dígitos, - e _. Os presets personalizados são guardados pelo servidor (em presets/ ao lado dos modelos), por isso a CLI, a API e o servidor MCP veem-nos todos. Um preset difere de um modelo feito com o QUESTIONS de um Modelfile: não está vinculado a um modelo e não copia nada.
ollaya update
Instala a versão mais recente por cima desta: executa o script de instalação de novo no mesmo prefixo, por isso os modelos, os presets e o serviço systemd ficam como estão.
ollaya update --check # only say whether a newer release exists
ollaya update
Um binário que veio com a aplicação de desktop (a app do macOS, o instalador do Windows, um AppImage, ou os pacotes .deb e .rpm) é atualizado instalando a nova aplicação, e um contentor transferindo a nova imagem; ollaya update diz isso em vez de o alterar.
ollaya create
Constrói um modelo a partir de um Modelfile, por exemplo para embutir um conjunto de perguntas, uma calibração reajustada ou uma precisão fixada. -f tem como predefinição ./Modelfile.
ollaya create triage -f Modelfile