Documentação

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