SemIf
Formerly OpenJev: open-model 'semantic ifs' that read option logits from a frozen 4B model on one RTX 3090, with a browser demo.
Overview
SemIf, formerly OpenJev, reproduces Jev's interface pattern with open models: typed option probabilities read directly from a model, with no answer sentence, JSON repair or decoding loop. It targets the small decisions inside agents (route this, retry that, does the evidence support X) and runs a frozen 4B model on a single home RTX 3090, with backends for CUDA, MLX and PyTorch/MPS on Apple Silicon, llama.cpp on CPU with GGUF, and a 27B EXL3 bridge. A WebGPU browser demo runs quantized models with no install.
The README measures that typed decisions all arrive together while a compact generative yes/no array takes 5.21x as long as direct readout, and on a 102-row TypeSafe public subset reports 0.845 modal agreement for direct logits versus 0.883 for Jev's published records (not a live Jev run). Per-workload temperature calibration is included because probabilities are only useful if confidence matches accuracy. It is explicitly independent and does not reproduce Jev's model or training.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Yes / no | Does the evidence support X? | — |
| Choice | Where should this be routed? | — |
How it works
- Load a frozen open model on GPU, Apple Silicon, CPU or browser
- Build state and typed questions with pinned prompts
- Read option probabilities from logits, optionally with shared-state prefill
- Apply per-workload temperature calibration and thresholds
Strengths
- Runs on consumer hardware and in the browser
- All decisions arrive together, faster than generated JSON
- Committed raw results for reproducibility
Caveats
- Below published Jev on the aligned subset
- Comparison uses published Jev records, not live calls
- Independent; not affiliated with TypeSafe
Getting started
pip install -e '.[test]' (add mlx or llamacpp extras as needed), or try the WebGPU demo in the browser.At a glance
- Type
- Model
- Status
- research
- Language
- Python
- Runtime
- PyTorch/MLX/llama.cpp scorer; WebGPU demo
- Has code
- yes
- Has tests
- yes
- License
- MIT
- Stars
- 4,813
Use cases and integrations
How curated lists describe it
Independent replication: reproduces Jev's typed-decision interface on open models, including an MLX backend on Apple silicon, and measures that typed decisions arrive together while a JSON answer streams token by token.
yibie/awesome-jevFormerly OpenJev. Typed decisions from open models on a home RTX 3090 and in the browser: reads option logits instead of generating text.
AnotiaWang/awesome-decision-modelsSemantic ifs from open models, on a 3090 at home. Independent; not affiliated with Jev or TypeSafe.
wh000wh000/awesome-jev-liveSemantic ifs from open models, on a 3090 at home. Independent; not affiliated with Jev or TypeSafe.
hellogumbo/awesome-jevJev-style decisions from a frozen 4B model on a single RTX 3090, with a browser demo. Formerly OpenJev.
MrJev/awesome-jev
Frequently asked questions
Is SemIf the same as Jev?
No; it reproduces the interface pattern with open models, not Jev's model or training.
How close is it to Jev?
On a 102-row aligned subset, 0.845 agreement versus Jev's published 0.883.
Can I try it without a GPU?
Yes, via the llama.cpp CPU backend or the browser demo.
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