Référence de la CLI
Ollaya est un binaire unique : la CLI, le serveur et les moteurs de modèles. Si tu as déjà utilisé Ollama, les commandes te sembleront familières.
| Commande | Rôle |
|---|---|
ollaya serve |
Démarre le serveur sur 127.0.0.1:11435 |
ollaya run MODEL [STATE] |
Répond à des questions sur un état, ou ouvre une invite ; tire et charge le modèle si nécessaire |
ollaya pull MODEL |
Télécharge un modèle depuis le registre |
ollaya list (ls) |
Liste les modèles présents sur cette machine |
ollaya ps |
Liste les modèles chargés en mémoire |
ollaya show MODEL |
Affiche les détails, les capacités et la licence d’un modèle |
ollaya stop MODEL |
Décharge un modèle en cours d’exécution |
ollaya stop |
Arrête le serveur démarré par la CLI |
ollaya mcp [--http [ADDR]] |
Sert les modèles aux agents IA via MCP (Agents) |
ollaya rm MODEL… |
Supprime un ou plusieurs modèles |
ollaya cp SOURCE DESTINATION |
Copie un modèle sous un nouveau nom |
ollaya create NAME [-f Modelfile] |
Crée un modèle à partir d’un Modelfile |
ollaya update [--check] |
Installe la dernière version par-dessus celle-ci |
ollaya -v |
Affiche la version du serveur (et du client) |
Toutes les commandes sauf serve et update dialoguent avec le serveur à OLLAYA_HOST. Quand rien ne répond et que l’adresse est locale, la CLI (sauf ollaya stop sans modèle) démarre ollaya serve en arrière-plan, en journalisant dans ~/.ollaya/logs/server.log (ou server.log dans OLLAYA_LOG_DIR).
Noms de modèles
Les modèles sont référencés sous la forme name:tag ; sans tag, latest est utilisé. Les noms ne sont pas sensibles à la casse.
ollaya run laya # same as laya:latest, a router
ollaya run laya:multilingual
ollaya pull laya:en-fp32
Un modèle comme laya:en porte un graphe fp16 et un graphe fp32 qui partagent un même fichier de poids. La précision est choisie au chargement du modèle : fp16 sur un GPU CUDA, fp32 sur le CPU. Les tags -fp16 et -fp32 en fixent une.
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 connecte au serveur (le démarre au besoin), tire le modèle s’il n’est pas sur cette machine, le charge et affiche une ligne par question : la réponse, une barre et sa probabilité.
| Option | Effet |
|---|---|
--preset NAME |
Utilise un preset : intégré (triage, email, guard, moderation, router ou agent) ou enregistré avec ollaya preset create |
--questions FILE|@FILE|JSON |
Utilise ces questions (id de question → question), en remplaçant celles du modèle : un chemin de fichier, @file (@- pour stdin), ou du JSON en ligne commençant par { |
--format text|json |
text (par défaut) affiche le tableau ; json affiche la réponse complète de /api/decide |
--keepalive DURATION |
Combien de temps garder le modèle chargé ensuite : 5m, 1h, 0 (décharger maintenant), -1 (garder chargé) |
--verbose |
Affiche aussi la probabilité de chaque option, la décision de routage et les temps |
--state-json |
Analyse l’état comme du JSON. Un état qui ressemble à un objet ou un tableau JSON est de toute façon détecté |
--image FILE |
Une image PNG sur laquelle décider, pour un modèle de vision (decider:2b-vision). Elle accompagne chaque état, y compris dans le REPL |
D’où viennent les questions, la première correspondance l’emporte : --questions, puis --preset, puis les questions intégrées au modèle (celles de qwen3guard, ou celles ajoutées avec un Modelfile), puis le preset triage. Quand run retombe sur triage, il le signale sur stderr.
--questions accepte aussi le JSON directement sur la ligne de commande, comme curl -d : une valeur qui commence par { est du JSON en ligne, et tout le reste est un chemin de fichier. @file est toujours un fichier (pratique si un nom de fichier commence par {), et @- lit les questions depuis stdin, auquel cas l’état va sur la ligne de commande :
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 @- "..."
L’état est le reste de la ligne de commande. Sans état, run lit stdin en entrée pipée :
cat ticket.txt | ollaya run laya --preset triage
Sur un terminal sans état, run ouvre une invite. Saisis un état et appuie sur Entrée ; entoure plusieurs lignes de """. Commandes :
| Commande | Effet |
|---|---|
/preset NAME |
Bascule vers un ensemble de questions intégré |
/set questions FILE |
Utilise les questions d’un fichier JSON |
/show |
Affiche le modèle et les questions actuelles |
/clear |
Efface l’écran |
/bye |
Quitte (ou Ctrl+D) |
/?, /help |
Aide |
ollaya serve
Démarre le serveur auquel la CLI et tes applications parlent. Il sert l’API native (/api/*) et l’API compatible TypeSafe (/v1/*) ; voir la référence de l’API. L’installateur Linux le lance comme service systemd ollaya.
ollaya serve
Tu en as rarement besoin : les autres commandes démarrent le serveur en arrière-plan quand il ne tourne pas. Si un serveur tourne déjà à OLLAYA_HOST, ollaya serve le signale et se termine ; arrête d’abord celui-là avec ollaya stop pour lancer le serveur au premier plan.
Il se configure par variables d’environnement :
| Variable | Défaut | Effet |
|---|---|---|
OLLAYA_HOST |
127.0.0.1:11435 |
Adresse d’écoute ; la cible de la CLI |
OLLAYA_MODELS |
~/.ollaya/models |
Dépôt de modèles |
OLLAYA_KEEP_ALIVE |
5m |
Combien de temps un modèle reste chargé après sa dernière requête |
OLLAYA_MAX_LOADED_MODELS |
3 |
Modèles gardés chargés à la fois |
OLLAYA_MAX_QUEUE |
512 |
Requêtes de décision en vol avant 503 QUEUE_FULL |
OLLAYA_LOAD_TIMEOUT |
5m |
Combien de temps un modèle peut mettre à charger |
OLLAYA_DEVICE |
auto |
auto (un GPU NVIDIA si l’installateur a ajouté les bibliothèques CUDA, sinon le CPU), cpu, cuda ou cuda:<n> |
OLLAYA_API_KEY |
non défini | Exige Authorization: Bearer <key> ; la CLI l’envoie aussi |
OLLAYA_ORIGINS |
non défini | Origines de navigateur supplémentaires autorisées, séparées par des virgules |
OLLAYA_REGISTRY |
ollaya.dev |
Hôte de registre par défaut dans les noms de modèles |
OLLAYA_LOG |
info |
Niveaux de journal ; debug journalise chaque requête avec son statut et sa durée |
OLLAYA_LOG_DIR |
non défini | Journalise dans <dir>/server.log au lieu de stderr (créé si absent ; complété, jamais tourné) |
Pour le service systemd, modifie-les avec sudo systemctl edit ollaya et des lignes Environment=.
ollaya pull
Télécharge un modèle et vérifie chaque couche par son sha256. Tirer un routeur tire aussi chaque modèle vers lequel il route. Seules les couches dont cette machine a besoin sont téléchargées, et les téléchargements interrompus reprennent.
ollaya pull laya
ollaya list et ollaya ps
list affiche les modèles de cette machine avec leur ID, leur taille et le moment où ils ont été tirés. ps affiche les modèles chargés, l’appareil sur lequel ils tournent (cpu, cuda:0), la précision et le moment où ils seront déchargés.
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
Affiche l’architecture d’un modèle, ses paramètres, sa longueur de contexte, ses précisions, ses langues, ses capacités et sa licence. Pour un routeur, il affiche les routes.
| Option | Affiche uniquement |
|---|---|
--questions |
Les questions intégrées au modèle |
--license |
La licence |
--modelfile |
Un Modelfile qui recrée le modèle |
--parameters |
Les paramètres, comme une précision fixée |
ollaya stop
ollaya stop MODEL décharge un modèle en cours une fois ses requêtes en vol terminées, au lieu d’attendre la fin du keep-alive.
ollaya stop sans modèle arrête le serveur à OLLAYA_HOST, ce qui décharge tous les modèles. Il n’arrête qu’un serveur que tu as démarré, avec ollaya serve ou en lançant une autre commande. Il n’arrête jamais le serveur d’un autre utilisateur, comme le service systemd Linux ; arrête celui-là avec sudo systemctl stop ollaya.
ollaya rm et ollaya cp
ollaya cp laya:en my-guardrail
ollaya rm my-guardrail
rm supprime aussi les blobs qu’aucun autre modèle n’utilise. Supprimer un routeur conserve les modèles vers lesquels il route. cp écrase une destination existante.
ollaya preset
Un preset est un ensemble de questions nommé que tu peux réutiliser avec n’importe quel modèle : ollaya run MODEL --preset NAME, ou "preset": "NAME" sur /api/decide. Six sont intégrés. Enregistre les tiens :
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."
| Commande | Effet |
|---|---|
ollaya preset list |
Les presets intégrés et personnalisés, avec leurs ids de questions |
ollaya preset show NAME |
Les questions d’un preset, en JSON |
ollaya preset create NAME --questions FILE|@FILE|JSON [--description TEXT] |
Enregistre un preset personnalisé, en remplaçant celui de même nom. --questions accepte les mêmes formes que dans ollaya run |
ollaya preset rm NAME... |
Supprime des presets personnalisés. Les presets intégrés ne peuvent pas être supprimés |
Les noms sont des lettres minuscules, des chiffres, - et _. Les presets personnalisés sont stockés par le serveur (dans presets/ à côté des modèles), donc la CLI, l’API et le serveur MCP les voient tous. Un preset diffère d’un modèle créé avec la directive QUESTIONS d’un Modelfile : il n’est lié à aucun modèle et ne copie rien.
ollaya update
Installe la dernière version par-dessus celle-ci : il relance le script d’installation dans le même préfixe, donc les modèles, les presets et le service systemd restent tels quels.
ollaya update --check # only say whether a newer release exists
ollaya update
Un binaire fourni avec l’application de bureau (l’app macOS, l’installateur Windows, une AppImage, ou les paquets .deb et .rpm) se met à jour en installant la nouvelle application, et un conteneur en tirant la nouvelle image ; ollaya update le dit au lieu de le modifier.
ollaya create
Construit un modèle à partir d’un Modelfile, par exemple pour y intégrer un ensemble de questions, une calibration réajustée ou une précision fixée. -f vaut ./Modelfile par défaut.
ollaya create triage -f Modelfile