Referência da CLI
Ollaya é um único binário: a CLI, o servidor e os executores de modelos. Se você já usou o Ollama, os comandos vão parecer familiares.
| Comando | O que faz |
|---|---|
ollaya serve |
Inicia o servidor em 127.0.0.1:11435 |
ollaya run MODEL [STATE] |
Responde perguntas sobre um estado, ou abre um prompt; baixa e carrega o modelo conforme necessário |
ollaya pull MODEL |
Baixa um modelo do registro |
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 para 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, conversam 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, registrando 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, latest é usado. Os nomes não diferenciam 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 carrega um grafo fp16 e um fp32 que compartilham um mesmo arquivo de pesos. A precisão é escolhida quando o modelo carrega: fp16 em uma 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 se conecta ao servidor (iniciando-o se necessário), baixa 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.
| Flag | Efeito |
|---|---|
--preset NAME |
Usa um preset: integrado (triage, email, guard, moderation, router ou agent) ou um que você salvou com ollaya preset create |
--questions FILE|@FILE|JSON |
Usa estas perguntas (id da pergunta → pergunta), substituindo as do próprio modelo: um caminho de arquivo, @file (@- para stdin), ou JSON embutido começando com { |
--format text|json |
text (padrão) imprime a tabela; json imprime a resposta completa de /api/decide |
--keepalive DURATION |
Por quanto tempo manter o modelo carregado depois: 5m, 1h, 0 (descarregar agora), -1 (manter carregado) |
--verbose |
Também imprime a probabilidade de cada opção, a decisão de roteamento e os tempos |
--state-json |
Interpreta o estado como JSON. Um estado que parece um objeto ou array JSON é detectado de qualquer forma |
--image FILE |
Uma imagem PNG sobre a qual decidir, para um modelo de visão (decider:2b-vision). Ela acompanha todo estado, 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, ele avisa em stderr.
--questions também aceita o JSON direto na linha de comando, como o curl -d: um valor que começa com { é JSON embutido, e qualquer outra coisa é um caminho de arquivo. @file é sempre um arquivo (útil se um nome de arquivo começar com {), 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
Em um terminal sem um estado, run abre um prompt. Digite um estado e pressione Enter; envolva várias linhas em """. Comandos:
| Comando | Efeito |
|---|---|
/preset NAME |
Muda para um conjunto de perguntas integrado |
/set questions FILE |
Usa as perguntas de um arquivo JSON |
/show |
Mostra o modelo e as perguntas atuais |
/clear |
Limpa a tela |
/bye |
Sai (ou Ctrl+D) |
/?, /help |
Ajuda |
ollaya serve
Inicia o servidor com o qual a CLI e os seus aplicativos conversam. Ele serve a API nativa (/api/*) e a API compatível com a TypeSafe (/v1/*); veja a referência da API. O instalador do Linux o executa como o serviço systemd ollaya.
ollaya serve
Você raramente precisa dele: os outros comandos iniciam o servidor em segundo plano quando ele não está rodando. Se um servidor já roda em OLLAYA_HOST, ollaya serve avisa e sai; pare esse primeiro com ollaya stop para rodar o servidor em primeiro plano.
Ele é configurado com variáveis de ambiente:
| Variável | Padrão | Efeito |
|---|---|---|
OLLAYA_HOST |
127.0.0.1:11435 |
Endereço para escutar; o alvo da CLI |
OLLAYA_MODELS |
~/.ollaya/models |
Repositório de modelos |
OLLAYA_KEEP_ALIVE |
5m |
Por quanto tempo um modelo fica carregado após a última requisição |
OLLAYA_MAX_LOADED_MODELS |
3 |
Modelos mantidos carregados ao mesmo tempo |
OLLAYA_MAX_QUEUE |
512 |
Requisições de decisão em andamento antes de 503 QUEUE_FULL |
OLLAYA_LOAD_TIMEOUT |
5m |
Quanto tempo um modelo pode levar para 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 extras permitidas, separadas por vírgula |
OLLAYA_REGISTRY |
ollaya.dev |
Host de registro padrão nos nomes de modelos |
OLLAYA_LOG |
info |
Níveis de log; debug registra cada requisição com o seu status e duração |
OLLAYA_LOG_DIR |
não definido | Registra em <dir>/server.log em vez de stderr (criado se faltar; acrescentado, nunca rotacionado) |
Para o serviço systemd, altere-as com sudo systemctl edit ollaya e linhas Environment=.
ollaya pull
Baixa um modelo e verifica cada camada pelo seu sha256. Baixar um roteador também baixa cada modelo para o qual ele roteia. Só as camadas de que esta máquina precisa são baixadas, e downloads interrompidos retomam.
ollaya pull laya
ollaya list e ollaya ps
list mostra os modelos desta máquina com o seu ID, tamanho e quando foram baixados. ps mostra os modelos carregados, o dispositivo em que rodam (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 roteador, imprime as rotas.
| Flag | 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 as suas requisições em andamento terminam, em vez de esperar o keep-alive acabar.
ollaya stop sem modelo para o servidor em OLLAYA_HOST, o que descarrega todos os modelos. Ele só para um servidor que você iniciou, com ollaya serve ou rodando outro comando. Ele nunca para o servidor de outro usuário, como o serviço systemd do Linux; pare esse com sudo systemctl stop ollaya.
ollaya rm e ollaya cp
ollaya cp laya:en my-guardrail
ollaya rm my-guardrail
rm também exclui os blobs que nenhum outro modelo usa. Remover um roteador mantém os modelos para os quais ele roteia. cp sobrescreve um destino existente.
ollaya preset
Um preset é um conjunto de perguntas nomeado que você pode reutilizar com qualquer modelo: ollaya run MODEL --preset NAME, ou "preset": "NAME" em /api/decide. Seis são integrados. Salve os seus:
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] |
Salva um preset personalizado, substituindo um de mesmo nome. --questions aceita as mesmas formas que em ollaya run |
ollaya preset rm NAME... |
Exclui presets personalizados. Presets integrados não podem ser excluídos |
Os nomes são letras minúsculas, dígitos, - e _. Os presets personalizados são armazenados pelo servidor (em presets/ ao lado dos modelos), então a CLI, a API e o servidor MCP todos os veem. Um preset difere de um modelo feito com o QUESTIONS de um Modelfile: ele não é vinculado a um modelo e não copia nada.
ollaya update
Instala a versão mais recente por cima desta: ele roda o script de instalação de novo no mesmo prefixo, então 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 o aplicativo de desktop (o app do macOS, o instalador do Windows, um AppImage, ou os pacotes .deb e .rpm) é atualizado instalando o novo aplicativo, e um contêiner baixando a nova imagem; ollaya update avisa isso em vez de alterá-lo.
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 padrão ./Modelfile.
ollaya create triage -f Modelfile