LitJev
Reproduction of Jev's decision layer on any Qwen model: serves /v1/systemone by scoring option tokens, with no training or generation.
Overview
LitJev reproduces the decision layer of Jev on top of off-the-shelf Qwen checkpoints from Hugging Face. You define questions and options, load a Qwen model, and get typed choices with probability distributions from a single API call or a browser front end, with no training and no generated answer text. It is a hypothesis-based reproduction from public information, not affiliated with TypeSafe; the JSON follows Jev's public schema but internals, confidence values and performance differ, and probabilities are not calibrated by default.
Each request has two steps. A prefill computes the shared state once, cached on SGLang or batched on transformers. Then each question lists its options and ends with 'Answer:', each option's own words are appended and teacher-forced, the summed log-probability of its tokens is that option's score, and a softmax gives the distribution. Scoring the option's words rather than a letter avoids position bias from label tokens, with a coded readout available as an option. Questions cannot see each other. The full Qwen family is supported, with Qwen3.8-27B on one H100 as the tested default; vision checkpoints enable screenshot decisions. Documentation is in English and Chinese.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which option fits the state? | — |
| Score | Where does the state fall on the scale? | — |
| Yes / no | Is this statement true? | — |
How it works
- Load a Qwen checkpoint with the transformers or SGLang backend
- Prefill the shared state once
- Teacher-force each option's words and sum log-probabilities
- Softmax over options gives the distribution
- Return Jev-schema JSON
Strengths
- Works with any Qwen size, including vision models
- No training needed
- Option-word scoring reduces position bias
- Jev-schema compatible
Caveats
- Probabilities not calibrated by default
- Default model needs an H100 80 GB
- Not identical to Jev's behaviour
Getting started
git clone https://github.com/zhengxuyu/litjev.git && cd litjev && uv run --locked litjev --model Qwen/Qwen3.8-27B, then open http://127.0.0.1:8000/.At a glance
- Type
- Service
- Status
- research
- Language
- Python
- Runtime
- transformers or SGLang server with web UI
- Has code
- yes
- License
- Apache-2.0
Use cases and integrations
How curated lists describe it
Local reproduction: a reproduction of Jev that turns any Qwen model into a fast decision model, serving the same `/v1/systemone` schema (Choice, Score, Noul) with no training and no generated answer text.
yibie/awesome-jevA reproduction of Jev that turns any Qwen model into a fast decision model, serving the same `/v1/systemone` schema (Choice, Score, Noul) with no training and no generated answer text.
AnotiaWang/awesome-decision-modelsOpen reproduction of Jev decision layer on open-weights models, serving the System One schema by inspecting option logits directly.
logicrw/awesome-jev-projectsReproduction of Jev that turns any Qwen model into a fast decision model, serving the same `/v1/systemone` schema (Choice, Score, Noul) with no training and no generated answer text.
cobanov/awesome-jevA reproduction of Jev that turns any Qwen model into a fast decision model, serving the same /v1/systemone schema (Choice, Score, Noul) with no training and no generated answer text.
hellogumbo/awesome-jev
Frequently asked questions
Does it need training?
No, it reads option scores directly from a pretrained Qwen model.
Are probabilities calibrated?
Not by default, per the README.
Which hardware does it need?
The tested default is Qwen3.8-27B on one H100 80 GB; smaller Qwen models work too.
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