Dokumentation

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 NAME verwendet einen eingebauten Fragensatz: triage, email, guard, moderation, router oder agent. Ohne ihn beantwortet ein Modell ohne eigene Fragen triage.
  • --verbose gibt zusätzlich die Wahrscheinlichkeit jeder Option, die Routing-Entscheidung und die Zeitmessungen aus.
  • --format json gibt die vollständige API-Antwort aus.
  • Ohne Zustand liest ollaya run den 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."

Nächste Schritte