laya.tools / Comparison
Laya vs Jev
Laya vs Jev compared: deployment, compatibility, latency and cost from independent benchmarks, languages, licensing and when to pick which.
Updated September 25, 2026
Laya vs Jev
Jev and Laya are both "System One" decision models. Instead of generating text, each takes a state (text, an email, a ticket, a JSON object) and a set of typed questions, and returns probabilities: choice picks one option, score rates on an ordered rubric, and noul gives the probability that a statement is true. The difference is how you get them. Jev is a hosted API. Laya is open weights you run yourself.
The numbers below come from vendor docs and independent benchmark repositories, each linked.
What each one is
Jev is TypeSafe AI's model. According to TypeSafe's model docs, every model is served from one endpoint, POST /v1/systemone, and the current release is jev-1.13.0 (alias jev-latest). It is billed per input token at $0.042 per million, and output tokens are free. A request can carry up to 64k tokens, with 32k for the state plus the longest question. The weights are not published. jevals also reaches it through OpenRouter and the Vercel AI Gateway.
Laya is published by Convai Innovations under Apache 2.0 (GitHub, Hugging Face). It ships three checkpoints: laya (ModernBERT-large, 421M, English), laya-multilingual (mmBERT-base, 322M, 100+ languages) and laya-typed-decisions (421M, fine-tuned). A built-in Router picks the checkpoint per request by script and language. The community has ported it to MLX, Core ML, ONNX, C++, Rust and the browser.
What "Jev-compatible" means
Compatibility is at the API level, not the model level:
- The core package's
laya-serveexposesPOST /v1/systemone. Its README says the answer payload is "schema-identical" to Jev's (choice/score/noulanswers plus an{input_tokens, output_tokens}usage block), so an existing Jev client only needs its base URL changed. - ollaya says the official TypeSafe SDK works unchanged with
TYPESAFE_BASE_URL=http://localhost:11435. laya-apple reports testing seven unmodified Jev clients against its local server.
The core README lists three differences to handle when you port a client:
- Options. A question's options share a token budget (
head_max_len: 192 tokens onlaya, 256 on the others) instead of Jev's cap of 255 options. Past about 20 described options, labels get trimmed. - Score levels. Every level needs a description, and a
nulllevel is rejected with 422. - Confidence. Laya's
confidenceis 1 minus normalised entropy, which is a different formula from Jev's, so a threshold tuned on Jev does not transfer. Useanswer_confidenceinstead.
As laya-apple notes, the answers are still Laya's, not Jev's.
Latency
Latency depends heavily on where Laya runs. Reported figures:
- GPU and Apple Silicon. The core README gives 32.8 ms for one question on a Tesla T4 and cites third-party Jev measurements of 236 to 276 ms p50 (AbdelStark/jev-benchmarks, nibzard/decision-model-benchmark). laya-jev-lab measured Laya at 7.6 ms on an M4 Max with MLX and Jev at 588 ms.
- Mixed. jev-laya-benchmark found Laya faster for one short question (42 ms on an M3 Pro vs 136 ms for Jev, about 50 ms of which was network). Jev was faster above 3 to 4 questions per request: for 50 questions on one state, Laya took 1,002 ms and Jev 170 ms.
- CPU. laya-onnx (MstyAI) measured Laya ONNX at 397 ms p50 against Jev's 202 ms. laya-cpu-benchmark concludes that a realistic CPU call is 0.3 to 2 seconds.
Accuracy
Out of the box, Jev is more accurate on most shared tests:
- jev-laya-benchmark: 92.9% of judgments correct for Jev vs 65.3% for Laya, across 1,470 synthetic items.
- sysone-bench, on byte-identical inputs: Jev led on triage, guardrails, moderation, Banking77 and multilingual intent. Laya led on AG News (0.940 vs 0.910) and MNLI (0.983 vs 0.867).
- laya-jev-lab: 78% for Jev vs 57% for Laya on 40 Chinese support tickets.
- JevBench v1.4.2: Jev 1.13.0 ranks 2nd (63.29) and Laya's English checkpoint ranks 41st (30.25).
Fine-tuning changes the picture. The core README reports that the fine-tuned laya-typed-decisions checkpoint scores 0.766 on its typed-decisions benchmark, against Jev's published 0.727. The base checkpoints score 0.362 and 0.352 on the same benchmark. Jev leads clearly on large label sets: 0.870 vs 0.425 on Banking77 in the same README.
On calibration the evidence is mixed. nibzard reports Jev with the worst calibration error among the models it measured (ECE 0.246). AbdelStark found Jev put zero probability on the true label for 16% of DAIR Emotion examples. The Laya README says its checkpoints are over-confident as shipped and reach an ECE of 0.081 only after temperature fitting on held-out data.
Cost
Jev charges per input token. JevBench works out $0.0399 per 1,000 decisions at an average of 950 input tokens. nibzard measured $0.07 per 1,000 decisions on its banking suite. Laya has no licence or per-call fee. You pay for the hardware that runs it.
Languages
laya-multilingual covers 100+ languages, and the core README counts 45 of 51 tested languages as usable (more than 3x random) with the Router. The English checkpoint collapses on non-Latin scripts while staying confident, so routing matters. The core README notes there is no published multilingual benchmark for Jev. In sysone-bench's small multilingual intent suite (n=25), Jev scored 1.000, English-only Laya 0.360, and routed Laya 0.840.
Licensing
Laya's weights are Apache 2.0, and commercial use is allowed. Community ports carry their own licences: @receptron/laya and laya.cpp are MIT, for example. Jev is a proprietary hosted service under TypeSafe's terms.
At a glance
| Jev | Laya | |
|---|---|---|
| Delivery | Hosted API (POST /v1/systemone) |
Open weights, self-hosted |
| Licence | Proprietary | Apache 2.0 |
| Price | $0.042 per 1M input tokens, output free | No fee; your hardware |
| Question types | choice, score, noul |
choice, score, noul |
| Max options | 255 per question | Token budget; about 20 described options by default |
| Context | 64k per request | 512 (laya), 1,024 up to 8,192 (laya-multilingual) |
| Languages | Text input; no public multilingual benchmark | 100+ via laya-multilingual |
| Out-of-box accuracy | Higher on most independent tests | Lower zero-shot; strong after fine-tuning |
| Latency | 136 to 588 ms p50 for one question in the reports above | 7 to 42 ms on GPU or Apple Silicon; 0.3 to 2 s on CPU |
| Data leaves your machine | Yes | No |
| Fine-tuning | Not documented in the sources above | Yes, notebook for free Kaggle GPUs |
When to pick which
Pick Jev if you need the best accuracy without training, questions with dozens or hundreds of options, long states, or no infrastructure to run.
Pick Laya if data must stay on your hardware or work offline, if the decision runs inside a tight local loop on a GPU or Mac, if you want to fine-tune on your own labels, or if per-call pricing matters at your volume.
Use both as a cascade. laya-jev-lab answered locally when Laya's confidence was at least 0.60 and escalated to Jev otherwise. That matched Jev's accuracy on its 40-case set while solving 45% of traffic locally, at 1.8x Jev's speed. Because both speak /v1/systemone, switching between them is mostly a base-URL change.