JEV-CPU
CPU port of SemIf that reads typed decisions from a small open model's option logits on a laptop, with a web UI.
Overview
JEV-CPU is a thin adaptation of SemIf (formerly OpenJev) that runs the same decision engine on a CPU instead of a single CUDA GPU. SemIf reads typed option probabilities directly from a causal language model, with no generated text, JSON repair or decoding loop. The upstream project requires a GPU and a 4B BF16 model; this port swaps only the model loader to CPU and float32 and reuses SemIf's scoring code unchanged.
It is for people who want to try Jev-style semantic ifs on any machine without a GPU or a hosted key. The live proof of concept uses Qwen3-0.6B and reads a decision in about a second, with a browser UI covering eight domains including support, moderation, code-review triage, incident severity, email intent, compliance and credit risk. A technical report accompanies it, and the README states it is independent of SemIf's author, TypeSafe and Jev.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which typed option best fits this state under the given criteria?(inferred) | — |
How it works
- Type an unstructured state and add runtime criteria and options
- Run the open model on CPU over the prompt
- Extract option-logit slots and apply softmax
- Return the typed decision with probabilities in the web UI
Strengths
- Runs on a laptop CPU with no GPU or API key
- No text generation, so no output parsing
- Reuses SemIf's unmodified scoring code
Caveats
- Small 0.6B model; accuracy and calibration versus Jev not established
- Independent port; not affiliated with SemIf or TypeSafe
Getting started
See the README quick start to run locally; a technical report is at https://leesk212.github.io/JEV-CPU/.At a glance
- Type
- Model
- Status
- prototype
- Language
- Python
- Runtime
- Local CPU inference with web UI
- Has code
- yes
Use cases and integrations
How curated lists describe it
A CPU port of SemIf that swaps only the model loader and reuses the scoring code unchanged, so you can read a decision out of a small model's option logits on a laptop with no GPU.
MrJev/awesome-jev
Frequently asked questions
How does it make a decision?
It reads the probabilities of each option's token slots from a small open model's logits, without generating text.
Do I need a GPU?
No. The point of the port is to run SemIf on a CPU with float32.
Is it Jev?
No. It reproduces the Jev-style interface with an open model and is not affiliated with TypeSafe.
Related projects
llama.cpp-based C++ server that turns any LLM into a System One decision model, reading answers from next-token logits.
ProjectbetaC++MLX library that turns an existing local model into a decision engine by reading candidate logits, with no fine-tuning, on Apple Silicon.
ProjectprototypePythonLocal server (xks) implementing Jev's /v1/systemone contract on an open-weight LLM, accelerated with Xeon Phi cards.
ProjectresearchRustEducational C11 library and CLI that turns DiffusionGemma 26B into a CPU-first OpenJev-style decision engine reading candidate logits.
ProjectresearchCExperimental engine that makes an existing LLM do Jev-like classification and scoring by reusing context and building JSON.
ProjectresearchPythonReads typed decisions from one forward pass of PrismML's 1.75-bit Bonsai 27B under llama.cpp, using the OpenJev/SemIf logit method.
ProjectresearchPython