JEV-MLX
MLX library that turns an existing local model into a decision engine by reading candidate logits, with no fine-tuning, on Apple Silicon.
Overview
MLX ZeroEffort Decider (repository jev-mlx) is a Python library for local action selection on Apple Silicon. It maps application state and a natural-language request to one of your allowed actions, or returns no_match or abstain. It works with MLX-LM or MLX-VLM checkpoints you already have: the model processes the prompt normally and the library reads candidate logits at the final input position from the unchanged output head, so no continuation is generated and no extra decision weights are needed.
It offers a Python API, CLI and local HTTP server for semantic routing, enum and boolean decisions, and language-driven app controls. A demo shows Qwen3.5-9B playing a Blocks game by choosing from every legal placement using structured board data. The README links measured results, a methodology document and comparisons with related open decision models such as OpenDecider and Laya. The release is marked 0.1 experimental and unpublished.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which allowed action matches this request and state? | — |
| Other | Abstain or return no_match when nothing fits | no_match · abstain |
| Choice | Which legal placement should the next block take? | — |
How it works
- Load a compatible MLX-LM or MLX-VLM checkpoint
- Provide state, a request and the allowed actions
- Read candidate logits at the final input position
- Return the chosen action or no_match / abstain
Strengths
- Runs locally on Apple Silicon with models you already have
- No fine-tuning or extra weights
- No generated tokens for direct decisions
- Explicit abstain path
Caveats
- Experimental 0.1 release, not published to a package index
- Apple Silicon only
- Logit-based scores are not guaranteed to be calibrated
Getting started
See the Quick start section; requires an Apple Silicon Mac with Python 3.11+ and an MLX-LM checkpoint.At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- MLX library, CLI and local HTTP server
- Has code
- yes
- License
- MIT
Use cases and integrations
How curated lists describe it
MLX local action selection from existing LLMs, with no extra training or decision-specific weights. Semantic routing on Apple Silicon; compare OpenDecider and Laya.
hellogumbo/awesome-jev
Frequently asked questions
Do I need a special decision model?
No. It reads candidate logits from an ordinary compatible MLX model without changing its weights.
Can it refuse to choose?
Yes. It can return no_match or abstain.
Does it call TypeSafe?
No. Everything runs locally with MLX.
Related projects
llama.cpp-based C++ server that turns any LLM into a System One decision model, reading answers from next-token logits.
ProjectbetaC++Local 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.
ProjectresearchPythonJev-class decision server on an RWKV-7 1B checkpoint that reads typed answers from a constrained softmax behind /v1/systemone.
ProjectresearchPython