Run a Jev-like decision model locally
You can't download Jev itself — the weights are closed and hosted. But the open ecosystem now ships real, self-hostable decision models with the same shape. Pick your hardware and get the shortest path to a working local setup: install, model, server, and a test call you can copy as one script.
These are independent, open Jev-like decision models (Laya, OpenJev) — not TypeSafe's official Jev weights, which are closed and hosted. Same primitives (choice · score · noul), but you own calibration and quality. Some third-party checkpoints even ship uncalibrated confidence (their MLX build warns about out-of-range temperatures), so validate on your own labelled data before wiring a threshold in production.
python3.11 -m venv .venv && source .venv/bin/activate
pip install laya-mlxhf download aac6fef/laya-mlximport laya_mlx as laya
agent = laya.load("aac6fef/laya-mlx")
result = agent.predict(
"I was billed twice. Please refund the duplicate.",
{
"department": {
"type": "choice",
"instructions": "Who should handle this?",
"criteria": ["billing", "technical", "sales"],
}
},
)
print(result["answers"]["department"])Laya-MLX runs in-process — there is no HTTP server, you call it from Python. Types: choice · score · noul (calibrated P(true)). For 30+ languages load aac6fef/laya-multilingual-mlx instead.
Which one should I pick?
- Mac / Apple Silicon → Laya-MLX. Smallest and easiest: a ~420M model that runs in-process on an M-series Mac in milliseconds. No GPU, no server. Best for local dev and privacy.
- Node.js / TypeScript → @receptron/laya. Same idea from a JS runtime via ONNX — no Python at all. Best if your stack is already Node.
- Docker (GPU) → OpenJev. A bigger, GPU-served model behind a Jev-compatible HTTP API on
:8080. Best when you want a drop-in API endpoint and have an NVIDIA card. - NVIDIA bare-metal → OpenJev. The same model without Docker, for full control of the vLLM runtime.
These aren't official Jev
Laya and OpenJev are independent, community projects that rebuild the typed-decision idea on open weights — they are not TypeSafe's Jev, and their calibration and quality are their own. That's the real trade-off versus the hosted API: local means zero network hop and no per-call cost, but you own validation. If you want pinned, calibrated decisions with no ops, the hosted route is one POST /api/v1/decide away.