Schnellstart
Ollaya führt offene Entscheidungsmodelle auf deinem eigenen Rechner aus. Du gibst einem Modell einen Zustand (eine Nachricht, eine E-Mail, ein Ticket, ein JSON-Objekt) plus einige typisierte Fragen, und es liefert in einem einzigen Vorwärtsdurchlauf typisierte Antworten mit kalibrierten Wahrscheinlichkeiten zurück.
1. Installation
Unter Linux und macOS:
curl -fsSL https://ollaya.dev/install.sh | sh
Unter Windows in PowerShell:
irm https://ollaya.dev/install.ps1 | iex
Oder hole dir die Desktop-App, die dieselbe Kommandozeile und denselben Server mitbringt.
Das Skript lädt die neueste Version von GitHub herunter und prüft ihre sha256. Unter Linux und Windows holt es außerdem die CUDA-Bibliotheken, wenn es eine NVIDIA-GPU findet. Unter Linux, wo systemd läuft und es Root-Rechte hat, richtet es einen Dienst ein, der die API auf 127.0.0.1:11435 bereitstellt. Anforderungen und die Docker-Images findest du unter Download.
2. Ein Modell ausführen
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 startet den Server, wenn er nicht läuft, lädt das Modell bei der ersten Verwendung herunter und lädt es in den Speicher. winnow:e4b ist das empfohlene Modell: 0,722 Genauigkeit bei typisierten Entscheidungen, nahe an TypeSafes Jev (0,738), und 89 ms für diese fünf Fragen auf einer RTX 4090. Der Download ist 8 GB groß.
Keine NVIDIA-GPU? Beginne mit laya, das auf einer CPU in Sekundenbruchteilen antwortet. Es ist ein Router: Es schickt englischen Text an laya:en und andere Sprachen, etwa Türkisch, an laya:multilingual, und laya herunterzuladen lädt beide. Models vergleicht Genauigkeit und Geschwindigkeit jedes Modells.
--preset NAMEverwendet einen eingebauten Fragensatz:triage,email,guard,moderation,routeroderagent. Ohne ihn beantwortet ein Modell ohne eigene Fragentriage.--verbosegibt zusätzlich die Wahrscheinlichkeit jeder Option, die Routing-Entscheidung und die Zeitmessungen aus.--format jsongibt die vollständige API-Antwort aus.- Ohne Zustand liest
ollaya runden weitergeleiteten stdin oder öffnet in einem Terminal eine Eingabeaufforderung.
3. Stelle deine eigenen Fragen
Schreibe die Fragen in eine Datei:
{
"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."
Oder überspringe die Datei und übergib das JSON direkt, so wie curl -d es macht (ein Wert, der mit { beginnt, ist JSON, kein Dateipfad):
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."
Oder sende dieselben Fragen an die 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?"}
}
}'
Jede Antwort kommt typisiert zurück: ein choice mit einer Wahrscheinlichkeit pro Option, ein score als erwartete Stufe und ein noul als Wahrscheinlichkeit, dass die Aussage zutrifft. Siehe die API-Referenz.
4. Verwende einen vorhandenen TypeSafe-Client
Ollaya stellt auch TypeSafes API bereit. Das offizielle TypeSafe Python SDK funktioniert unverändert:
export TYPESAFE_BASE_URL=http://localhost:11435
export TYPESAFE_API_KEY=local # any value; the SDK needs one
export TYPESAFE_DEFAULT_MODEL=winnow:e4b
Siehe TypeSafe-Kompatibilität.
5. Baue deine Fragen in ein Modell ein
Ein Modelfile verwandelt einen Fragensatz in ein Modell, das du über seinen Namen ausführen kannst:
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."