Skip to content

The decision layer for AI agents

Ollaya runs open decision models on your own hardware. Typed questions in, calibrated answers out, in milliseconds: routing, guardrails, triage and tool approval without an LLM call.

curl -fsSL https://ollaya.dev/install.sh | sh
Try it in the browser
A support inbox where Ollaya triages each message as it lands, in under a second. Dana asks for a refund after a double charge: refund, urgent, very angry, churn risk, sent to Refunds. Marco asks about SSO and invoices: a calm billing question, sent to Billing. Priya reports failing exports: technical help, urgent, sent to Technical. Sam asks where data is hosted: information, sent to General. Lena cancels her subscription: cancellation, urgent, churn risk, sent to Retention. Tom says thanks for the new dashboard: other, sent to Feedback. Each ticket shows its five answers with their probabilities.
1,436
GitHub stars
5,160
model pulls last week
30
open decision models
3,880
human-labeled questions in the bench

Models by

  • Perplexity AI
  • Cloudflare
  • PostHog
  • Bespoke Labs
  • Qwen
  • Strands Agents
  • Knowledgator
  • Convai Innovations

Why decision models

System 1 for your agents

A decision model answers typed questions about a text or a JSON: a choice, a score, a yes or no. It is the fast, reliable half of an agent.

An AI agent asked to fix a failing login test tries to run rm -rf tests/. Ollaya answers block, 0.93, in 69 ms, and the command doesn't run. The agent edits the code instead, and Ollaya lets npm test run: run, 0.92, in 64 ms. 12 tests pass.

Recorded examples

One message, five answers

The triage preset asks winnow:e4b five questions about each support message. These are its real answers, with every option's probability one click away.

4 recorded examples, the same model and preset.

A support message comes in

“Third time this year you've double-charged me. Refund it today or I'm cancelling and moving to a competitor.”

Ollaya asks winnow:e4b the 5 questions of the triage preset, in one request.

  1. What does the customer want in the message?

    Refund0.91
    • Cancellation0.06
    • Other0.01
    • Billing question0.01
    • Technical help0.01
    • Information0.00
  2. Does the message communicate time pressure or a deadline?

    Yes0.93
    • No0.07
  3. How frustrated does the customer sound in the message?

    Very angry0.90
    • Clearly annoyed0.09
    • Concerned but civil0.01
    • Calm and neutral0.00
  4. Does the customer ask for money back?

    Yes0.99
    • No0.01
  5. Does the message suggest the customer may leave for a competitor or cancel?

    Yes0.99
    • No0.01

Real output: 5 answers in 760 ms on an Apple M4 Pro, one forward pass. Every answer is a probability you can set a threshold on.

Measured

Against Ollama and hosted Jev

Ollama 0.40.6's nine decision models and Ollaya's, on the same RTX 5090 and Bespoke Labs' 3,880 human-labeled questions. Ollaya runs the most accurate model and more of them, with each author's temperature. On the same weights Ollama is 5 to 8 times faster: it runs Q8_0 GGUFs where Ollaya computes the authors' BF16 weights.

Best accuracy, 3,880 questionsOllaya0.824Ollama 0.40.60.816TypeSafe Jev, hosted0.738 (typed-decisions)
Latency, median requestOllaya232 msOllama 0.40.696 msTypeSafe Jev, hosted236–276 ms, network included
Runs on your hardwareOllayaYesOllama 0.40.6YesTypeSafe Jev, hostedHosted only
Decision modelsOllaya30 familiesOllama 0.40.69TypeSafe Jev, hosted—
CPU-fast encodersOllayalaya, largha, nli, gliclass, von, decimaOllama 0.40.6layaTypeSafe Jev, hosted—
ProbabilitiesOllayaAuthor's temperatureOllama 0.40.6Raw softmaxTypeSafe Jev, hosted—
Options per questionOllaya255Ollama 0.40.626 (Kev, Strands: 255)TypeSafe Jev, hosted—
Questions per requestOllaya256Ollama 0.40.664TypeSafe Jev, hosted—
TypeSafe endpointsOllayasystemone, decisions, modelsOllama 0.40.6systemoneTypeSafe Jev, hosted—
WeightsOllayaAuthor's files, sha256-pinnedOllama 0.40.6Re-hosted GGUFTypeSafe Jev, hosted—
PriceOllayaFree, Apache-2.0Ollama 0.40.6Free, MITTypeSafe Jev, hostedPer token
Accuracy against latency, the most accurate tag of each model on each server
Ollaya's frontier
0.300.400.500.600.700.800.90102050100200500median latency per question, ms (log scale)accuracyOllaya's frontier: the most accurate model at each latencypplx-decider:flash on Ollaya: accuracy 0.824, ECE 0.016, 232 mspplx-decider:flashpplx-decider on Ollama 0.40.6: accuracy 0.816, ECE 0.017, 96 mspplx-deciderjeb:27b on Ollaya: accuracy 0.792, ECE 0.033, 113 msjeb:27bd3:flash on Ollaya: accuracy 0.790, ECE 0.030, 222 msd3:flashwinnow:12b on Ollaya: accuracy 0.773, ECE 0.141, 57 mswinnow:12bclef:flash on Ollaya: accuracy 0.772, ECE 0.025, 284 msclef-flash on Ollama 0.40.6: accuracy 0.772, ECE 0.024, 43 msdecider:4b on Ollaya: accuracy 0.769, ECE 0.094, 110 msclef on Ollama 0.40.6: accuracy 0.768, ECE 0.029, 100 mscygnet:12b on Ollaya: accuracy 0.768, ECE 0.103, 48 msstrands-decider:e4b on Ollaya: accuracy 0.765, ECE 0.039, 115 msgliclass-v4:9b on Ollaya: accuracy 0.763, ECE 0.034, 159 msjeeves:9b on Ollaya: accuracy 0.756, ECE 0.018, 182 msdecision2:lux on Ollaya: accuracy 0.756, ECE 0.056, 200 msnimble-v3 on Ollama 0.40.6: accuracy 0.754, ECE 0.091, 43 msnimble:9b-v3 on Ollaya: accuracy 0.754, ECE 0.092, 341 mskev:9b on Ollaya: accuracy 0.753, ECE 0.058, 227 msnimble on Ollama 0.40.6: accuracy 0.752, ECE 0.115, 42 msd1:3b on Ollaya: accuracy 0.751, ECE 0.063, 15 mstev1 on Ollama 0.40.6: accuracy 0.750, ECE 0.087, 30 mskev:4b-q8_0 on Ollama 0.40.6: accuracy 0.744, ECE 0.061, 34 mscredence:e4b on Ollaya: accuracy 0.741, ECE 0.054, 41 msgliclass:v4-edge on Ollaya: accuracy 0.714, ECE 0.070, 35 mssnap:2b on Ollaya: accuracy 0.702, ECE 0.049, 20 msd1-omni:600m on Ollaya: accuracy 0.639, ECE 0.075, 15 mssura:2b on Ollaya: accuracy 0.610, ECE 0.060, 64 mslaya:421m-typed-decisions-bf16 on Ollama 0.40.6: accuracy 0.594, ECE 0.071, 15 mslaya:typed-decisions on Ollaya: accuracy 0.594, ECE 0.022, 21 msdecision:eos on Ollaya: accuracy 0.591, ECE 0.087, 93 msdecima:agent on Ollaya: accuracy 0.534, ECE 0.228, 28 msvon:1.1 on Ollaya: accuracy 0.485, ECE 0.098, 17 msclm:8b on Ollaya: accuracy 0.377, ECE 0.372, 71 ms

Every model on Ollaya Bench, with the raw data

Drop-in

Jev-compatible, self-hosted

Ollaya serves TypeSafe's request and response shapes. Point the official SDK at localhost and nothing else changes.

Request
# Point the TypeSafe SDK at Ollayaexport TYPESAFE_BASE_URL=http://localhost:11435export TYPESAFE_API_KEY=local        # any value worksexport TYPESAFE_DEFAULT_MODEL=winnow:e4b # …or call the compatible endpoint directlycurl http://localhost:11435/v1/systemone -d '{    "model": "winnow:e4b",    "state": "Can I get an invoice for last month?",    "questions": {      "intent": {        "type": "choice",        "instructions": "What does the customer want?",        "criteria": {          "invoice": "Needs an invoice or receipt",          "refund": "Wants money back",          "other": "Anything else"        }      }    }  }'
Response
{  "model": "winnow:e4b",  "answers": {    "intent": {      "type": "choice",      "choice": "invoice",      "confidence": 0.9801,      "probabilities": {        "invoice": 0.9868,        "refund": 0.0026,        "other": 0.0106      }    }  },  "usage": {    "input_tokens": 120,    "output_tokens": 0  }}

Open models

Open weights, ready to pull

30 families from their authors, pulled by name. Every number here is from Ollaya Bench on an RTX 5090.

Browse all 30 models

Platforms

Runs where you work

A desktop app and a command line for macOS, Windows and Linux, and a Docker image for servers. Every model runs on the CPU; an NVIDIA GPU on Linux, Windows, WSL 2 or Docker takes a request down to milliseconds.

macOSApple silicon, macOS 14+Desktop appMenu bar app.dmgCommand lineInstall scriptGPUApple GPULaya and NLI on MLX
Windows10 and 11, x64Desktop appDesktop app.exe or .msiCommand linePowerShell scriptGPUNVIDIA, CUDA 12/13Command line
Linuxx86-64Desktop appDesktop appAppImage, .deb, .rpmCommand lineInstall scriptsystemd serviceGPUNVIDIA, CUDA 12/13
LinuxARM64Desktop appNot availableCommand lineInstall scriptsystemd serviceGPUCPU only
WSL 2Linux on WindowsDesktop appNot availableCommand lineInstall scriptSame as LinuxGPUNVIDIA, CUDA 12/13
Dockeramd64 and arm64Desktop appNot availableCommand lineImage on GHCRGPUNVIDIA, CUDA 12/13:cuda and :cuda12, amd64
Install for your platform

NVIDIA GPUs need driver R525 or newer; the install scripts fetch the CUDA libraries only when they find one. On a Mac, laya and nli run on the Apple GPU through MLX; other models, AMD and Intel GPUs, and the Windows and Linux desktop apps without the command line installed use the CPU.

Up and running in a minute

macOS, Windows, Linux and Docker. CPU, NVIDIA and Apple GPUs.

curl -fsSL https://ollaya.dev/install.sh | sh
Download