Skip to content

mini-jev

Dependency-free Python wrapper that turns any LLM API into a Jev-style choose-one-option decision call for old machines.

ModelprototypeMIT

Overview

MiniJEV is a tiny, pure-Python structured decision engine aimed at old machines, low-bandwidth setups and developers who do not want to install torch or Hugging Face libraries. Its premise, stated in the README, is that the core of Jev is structured output, so a prompt-engineered call to an existing LLM API can approximate it.

You call decide() with a state string, a question and a list of options, and it returns the chosen option plus a confidence value. Examples in the README cover urgency classification for messages, skill routing for an agent, and risk rating for code diffs. A batch_decide() helper handles lists of requests. The LLM backend is plugged in by editing a _call_llm method, so the decision quality and latency depend entirely on the model you connect. Later phases (fine-tuning a small classifier, ONNX export) are listed as future plans, not shipped features.

What the decision model decides

TypeQuestionAnswers
ChoiceUrgency levellow · medium · high · urgent
ChoiceWhich skill fits bestppt-master · pptx-editing · text-summary
ScoreRisk level of this code difflow · medium · high · very high

How it works

  1. Copy the single-file module into your project (Python 3.10+ standard library only).
  2. Wire _call_llm to your LLM API of choice.
  3. Call decide(state, question, options) or batch_decide(requests).
  4. Read back the choice and confidence and act on it in your own code.

Strengths

  • No external dependencies; the README says the code is under 1 MB.
  • Works with any LLM API you already have, including local models.
  • Same decide() call covers routing, triage and risk rating.

Caveats

  • It prompts a generative LLM rather than reading option probabilities, so confidence values are not calibrated in the Jev sense.
  • Latency and cost depend on the backend LLM; the README gives no measured accuracy of its own.
  • Fine-tuning and ONNX export are only roadmap items.

Getting started

No install needed: copy the module into your project, set _call_llm to your LLM API, then call MiniJEV().decide(state=..., question=..., options=[...]).

At a glance

Type
Model
Status
prototype
Language
Python
Runtime
library
Has code
yes
License
MIT

Use cases and integrations

How curated lists describe it

Frequently asked questions

What does MiniJEV decide?

It picks one option from a list you provide, such as an urgency level, a skill to load, or a risk grade, and returns a confidence value.

Does it need a TypeSafe key?

No. It calls whatever LLM API you wire into _call_llm; TypeSafe Jev is only referenced for comparison.

How is it different from real Jev?

Jev reads calibrated probabilities from a single forward pass, while MiniJEV relies on prompting a generative model, trading accuracy and calibration for zero dependencies.

Related projects

  • Research code showing confidence cascades let a 0.8B prefill-only decision model approach a 4B model's accuracy at a fraction of the cost.

    ProjectresearchPython
  • 0.8B open System One model with task adapters that makes millisecond decisions in front of a larger local model like Qwen3.8-27B.

    ModelbetaPython
  • Open recipe: describe a decision task, have an LLM write training data, and train a Qwen LoRA plus decision head with calibrated outputs.

    ModelbetaPython
  • OpenJev on Hugging Face: open-weights decision model for text, web pages and screenshots with up to 52 options per forward pass.

    ServicebetaPython
  • Open Thai and English System One model: Qwen3.5-0.8B with a 256-way slot-softmax head, served with a /v1/systemone-compatible API.

    LibrarybetaPython
  • Clojure System One engine on Jolt that routes typed questions to Laya encoders, a llama.cpp 'thinker', Clef or TinyDecide.

    ModelresearchClojure