Checked, not fully reviewed
Serves Laya's typed-decisions model on Apple Silicon in three memory presets. Checked on CPU, not fully reviewed: all presets give identical answers.
Good for
- A Mac with little free RAM: the `minimal` preset trades latency for about a third of the memory
- One local decision service for a single app or demo, with no network after the first download
Watch out for
- Its own API, not Jev's: scores take `levels`, probabilities come back as a list, and the route is `/v1/decisions`
- One inference at a time: of three simultaneous requests, two got `503` with `Retry-After: 1`
- Laya ignores negation: a question and its negation both came back above 0.69
Tested Oct 7, 2026 at cdbf19e1aa5b · Linux in Docker with the PyTorch 2.14 CPU build and --device cpu — not the Apple GPU it targets; its 91 tests, its server and its CLI with convaiinnovations/laya-typed-decisions at f9ab0b2
Checked, not fully reviewed. It is built for Apple Silicon and we have no Mac, so we ran it on
Linux with --device cpu, which the CLI supports: its 91 tests (all pass), its server, and its CLI
in each memory preset. The README’s latency and memory figures are from an M5 Pro, and we did not
measure our own. No Jev calls.
Laya MPS is a small server and CLI around Laya’s English
laya-typed-decisions checkpoint, pinned to a Hub revision. Its feature is memory. full keeps every weight in RAM, reduced (the default) reads
embeddings from disk, and minimal also streams transformer layers from disk. The project’s claim is
that all three give the same answers. On our CPU they did: one request with a choice, three yes/no
questions and a score gave identical answers, to the last digit, in all three presets.
The README is clear that this is “not a drop-in Jev endpoint”. A Jev-shaped request with a score
criteria list was refused with 422 until we renamed it levels, and score probabilities come
back as a list, not keyed by level. The answer types and fields otherwise follow Jev’s. It runs one
inference at a time and says so. Concurrent callers get a 503 with Retry-After: 1, so put a queue
in front of it if more than one thing calls it.
The model’s limits come through unchanged. For “I was charged twice for invoice 4411 and want a
refund”, “Is this a billing problem?” scored 0.696, “Is it false that this is a billing problem?”
0.693, and “Is this about something other than billing?” 0.580. Phrase conditions positively, as our
Laya review found.
MIT, 22 stars.
See how it compares with other tools in Best Jev tools, tested hands-on.
Review updated Oct 7, 2026. Numbers quoted from the project are its author's own; we don't publish our own measurements of Jev.