jev-recovery-router
Research router where a Qwen3-1.7B belief model scores intent candidates and a small policy decides to commit, retrieve more or hand off.
Overview
Jev Recovery Router is a research implementation of cost-sensitive intent routing with three actions: commit to an intent, retrieve more candidates, or hand off. A Qwen3-1.7B belief model with LoRA and a decision head scores retrieved intent candidates plus a NONE option, and a separate small policy decides whether another retrieval is worth its cost. The trained schedule goes from one initial candidate to five after expansion, and NONE keeps its probability mass rather than being renormalised away.
It is an independent Jev-inspired experiment, not a reproduction of TypeSafe's proprietary RLCD training, and local inference needs no Jev key. Weights are published separately on Hugging Face, with catalogs for Banking77-style and CLINC intents. Policy costs for wrong answers, deferral and expansion can be changed without changing the belief probabilities. The README documents training runs and model selection and warns that a handoff remains unresolved and candidate confidence is not a guarantee.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which retrieved intent, or NONE, matches this message? | — |
| Choice | Should the router commit, retrieve more candidates or hand off? | commit · expand · handoff |
How it works
- Retrieve an initial intent candidate
- The belief model scores candidates plus NONE
- The policy chooses commit, expand or hand off
- If expanding, retrieve five candidates and rescore
Strengths
- Explicit cost-sensitive policy
- Runs locally on CPU or GPU
- NONE option retained for abstention
Caveats
- Research code; trained only for the 1-then-5 schedule
- Custom package, not a standard transformers model
- GPU training setup specific
Getting started
Create a Python 3.12 venv, pip install -e ".[dev,reports]", download the Hugging Face package, then python -m recovery_router.inference --model ... --text "My card was charged twice"At a glance
- Type
- Model
- Status
- research
- Language
- Python
- Runtime
- PyTorch model and CLI
- Has code
- yes
- Has tests
- yes
Use cases and integrations
How curated lists describe it
Cost-conditioned intent routing: selected Qwen3 belief model, recovery actor…
wh000wh000/awesome-jev-live
Frequently asked questions
Does it use TypeSafe's Jev?
No. It is an independent Jev-inspired open model; no Jev key is needed.
What can it decide?
Which intent fits, or whether to retrieve more candidates or hand off.
Where are the weights?
On Hugging Face at Quicksort-fr/jev-recovery-router.
Related projects
Japanese System One decision model on ModernBERT-ja (314.6M) returning typed choice, score and bool distributions with no generation.
ProjectbetaPythonOEV: 184M-parameter decision engine that scores options in one pass, reporting 0.7705 on typed-decisions and 22 ms per question.
ProjectresearchPythonFastino's 340M Apache-2.0 decision classifier that scores caller-defined labels in one forward pass for routing, intent and scoring.
ModelproductionPythonOpen multilingual System 1 decision engine built on Laya checkpoints with a router that picks the best checkpoint per request.
ModelbetaPython- nirnay★ 9
NIRNAY 450M: open Apache-2.0 decision model fine-tuned from Laya that reports 87.9% on Banking77 with fitted ECE 0.045.
ModelresearchPython nev-lite: 11.8M-parameter static-embedding decision head that scores fixed option sets with no transformer pass at inference.
ModelresearchPython