Jev vs Laya
Jev is TypeSafe’s hosted System One model. Laya is an independent Apache-2.0 local package evaluating the same three question types. Unofficial; no partnership.
This is an unofficial field-manual note. It does not rank products or treat GitHub activity as a popularity score.
What each project is
Jev is TypeSafe’s flagship System One model. You send a state plus typed questions and receive structured answers your code can branch on. TypeSafe documents the hosted call as POST https://api.typesafe.ai/v1/systemone with model jev-latest. Jev currently accepts text (strings, JSON objects, and arrays of text); images, audio, and video are not supported.
Laya is published by Convai Innovations as an Apache-2.0, non-autoregressive decision engine. Its README describes typed choice, score, and noul questions over text, email, ticket, or JSON state in a single forward pass. Weights are listed on Hugging Face under convaiinnovations/laya (and related checkpoints). Install is documented as python -m pip install laya on Python 3.10 or newer.
A compatible HTTP surface is not the same product. Laya’s authors document a laya-serve path that speaks POST /v1/systemone; that is not a TypeSafe release and is not hosted Jev.
Documented question types
| Primitive | TypeSafe Jev (official docs) | Laya (project README) |
|---|---|---|
| Choice | Select from a defined set; returns choice, probabilities, confidence. A Choice accepts up to 255 options. | choice questions; option labels share a fixed head-token budget rather than Jev’s 255-option cap |
| Score | Ordered rubric; returns score, probabilities, confidence | score questions; every level needs a description (null is rejected) |
| Noul | Yes/no as noul in 0–1 | noul questions |
TypeSafe evaluates mixed questions in one request, in parallel and in isolation. Laya’s Router is documented as the recommended entry point: it picks among English, multilingual, and typed-decisions checkpoints.
How you call them
| Jev | Laya | |
|---|---|---|
| Official path | TypeSafe API / SDK, or the Playground | PyPI package laya; optional laya[serve] HTTP server |
| Auth | TYPESAFE_API_KEY as Authorization: Bearer | No TypeSafe key. Optional LAYA_API_KEY on laya-serve |
| Default bind (serve extra) | Hosted api.typesafe.ai | laya-serve binds 0.0.0.0:8000 per the README |
Checkpoints Laya documents
| Checkpoint | Encoder (README) | Documented use |
|---|---|---|
laya / English | ModernBERT-large, 421M, context 512 | English |
laya-multilingual | mmBERT-base, 322M, context 1024 (up to 8,192) | 100+ languages |
laya-typed-decisions | ModernBERT-large, 421M, context 1024 | typed-decisions workflows |
The first Hub download needs network access to Hugging Face. Routing-only CLI use is documented as working without downloading a checkpoint.
Limits the Laya README calls out when porting a Jev client
- Option budget. Options share
head_max_len(192 tokens on the English checkpoint, 256 on the others), not TypeSafe’s 255-option Choice cap. - Score levels. Every level needs a description.
- Confidence. Laya documents
confidenceon choice/score as 1 minus normalised entropy, and says a threshold carried over from Jev does not transfer.
Related on this site
- What is Jev?
- Jev, chat models, and code
- Local deployment checklist
- Jev vs Ollaya
- Jev vs Kev
- Jev vs Jev Router