Démarrage rapide
Ollaya exécute des modèles de décision ouverts sur ta propre machine. Tu donnes à un modèle un état (un message, un e-mail, un ticket, un objet JSON) et quelques questions typées, et il renvoie des réponses typées avec des probabilités calibrées en une seule passe avant.
1. Installation
Sous Linux et macOS :
curl -fsSL https://ollaya.dev/install.sh | sh
Sous Windows, dans PowerShell :
irm https://ollaya.dev/install.ps1 | iex
Ou récupère l’application de bureau, qui embarque la même ligne de commande et le même serveur.
Le script télécharge la dernière version depuis GitHub et vérifie son sha256. Sous Linux et Windows, il récupère aussi les bibliothèques CUDA lorsqu’il trouve un GPU NVIDIA. Sous Linux, là où systemd tourne et où il a les droits root, il met en place un service qui sert l’API sur 127.0.0.1:11435. Voir Télécharger pour les prérequis et les images Docker.
2. Exécuter un modèle
ollaya run winnow:e4b "Third time this year you've double-charged me. Refund it today or I'm cancelling and moving to a competitor."
intent refund ███████████████░ 0.91
is_urgent yes ███████████████░ 0.92
frustration 2.89 / 3 very angry or using stron… ██████████████░░ 0.86
refund_requested yes ████████████████ 0.99
churn_risk yes ████████████████ 0.99
ollaya run démarre le serveur s’il ne tourne pas, tire le modèle au premier usage et le charge. winnow:e4b est le modèle recommandé : 0.722 de précision sur les décisions typées, proche du Jev de TypeSafe (0.738), et 89 ms pour ces cinq questions sur une RTX 4090. Le téléchargement fait 8 Go.
Pas de GPU NVIDIA ? Commence avec laya, qui répond en une fraction de seconde sur un CPU. C’est un routeur : il envoie le texte anglais à laya:en et les autres langues, le turc par exemple, à laya:multilingual, et tirer laya tire les deux. Models compare la précision et la vitesse de chaque modèle.
--preset NAMEutilise un ensemble de questions intégré :triage,email,guard,moderation,routerouagent. Sans lui, un modèle qui n’a pas ses propres questions répondtriage.--verboseajoute la probabilité de chaque option, la décision de routage et les temps.--format jsonaffiche la réponse complète de l’API.- Sans état,
ollaya runlit stdin en entrée pipée, ou ouvre une invite sur un terminal.
3. Pose tes propres questions
Écris les questions dans un fichier :
{
"topic": {
"type": "choice",
"instructions": "What is this message about?",
"criteria": {
"billing": "Payments, invoices and refunds",
"access": "Login, passwords and permissions",
"other": "Anything else"
}
},
"urgency": {
"type": "score",
"instructions": "How urgent is this?",
"criteria": ["Can wait", "Needs attention this week", "Needs attention today"]
},
"angry": {
"type": "noul",
"instructions": "Is the customer angry?"
}
}
ollaya run winnow:e4b --questions questions.json "Hi, I cannot log in since this morning and I have a demo at 3pm."
Ou saute le fichier et passe le JSON en ligne, comme le fait curl -d (une valeur qui commence par { est du JSON, pas un chemin de fichier) :
ollaya run winnow:e4b --questions '{"angry":{"type":"noul","instructions":"Is the customer angry?"}}' "Hi, I cannot log in since this morning and I have a demo at 3pm."
Ou envoie les mêmes questions à l’API :
curl http://localhost:11435/api/decide -d '{
"model": "winnow:e4b",
"state": "Hi, I cannot log in since this morning and I have a demo at 3pm.",
"questions": {
"angry": {"type": "noul", "instructions": "Is the customer angry?"}
}
}'
Chaque réponse revient typée : un choice avec une probabilité par option, un score comme niveau attendu, et un noul comme probabilité que l’affirmation soit vraie. Voir la référence de l’API.
4. Utilise un client TypeSafe existant
Ollaya sert aussi l’API de TypeSafe. Le SDK Python officiel de TypeSafe fonctionne sans modification :
export TYPESAFE_BASE_URL=http://localhost:11435
export TYPESAFE_API_KEY=local # any value; the SDK needs one
export TYPESAFE_DEFAULT_MODEL=winnow:e4b
Voir Compatibilité TypeSafe.
5. Intègre tes questions dans un modèle
Un Modelfile transforme un ensemble de questions en un modèle que tu peux exécuter par son nom :
FROM laya
QUESTIONS ./questions.json
DESCRIPTION Support inbox triage
ollaya create inbox -f Modelfile
ollaya run inbox "Hi, I cannot log in since this morning and I have a demo at 3pm."