Documentation

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 NAME utilise un ensemble de questions intégré : triage, email, guard, moderation, router ou agent. Sans lui, un modèle qui n’a pas ses propres questions répond triage.
  • --verbose ajoute la probabilité de chaque option, la décision de routage et les temps.
  • --format json affiche la réponse complète de l’API.
  • Sans état, ollaya run lit 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."

Étapes suivantes