--- license: apache-2.0 base_model: Qwen/Qwen3.8-27B library_name: peft language: - en tags: - decision-making - classification - tool-selection - lora --- # JADE **Just Another Decision Engine.** Give JADE some context, a question, and a set of options. It returns a decision and a probability for each option. It can also answer yes/no questions with a probability. There is no generated explanation to parse. JADE is built on [Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B), with rank-8 LoRA adapters and a trained 255-way decision head. This release was trained on 160,017 synthetic examples covering reasoning, language, classification, retrieval, tools, and probabilistic decisions. ## Using JADE The included inference code uses Python 3.11+ and vLLM. You will need an NVIDIA GPU with enough memory for the 27B base model and its inference cache. We tested this release on a B200 with vLLM 0.30.0. ```bash pip install vllm==0.30.0 huggingface_hub hf download theunnecessarythings/JADE --local-dir ./jade-model export PYTHONPATH="$PWD/jade-model:$PYTHONPATH" ``` ```python from jade import JadeEngine engine = JadeEngine(model="./jade-model") response, _ = engine( state="Move my meeting with Sam to tomorrow at 3 pm.", questions={ "tool": { "type": "choice", "instructions": "Which tool should handle this request?", "criteria": { "calendar": "Find and update a calendar event", "email": "Search the email inbox", "notes": "Create a note", }, } }, ) print(response["answers"]["tool"]) # Contains "choice" and a "probabilities" mapping for all three options. ``` For a yes/no question, use `"type": "noul"`. Its answer contains `"noul"`, the probability of **yes**. You can supply several named questions in one call. The engine supports text inputs, up to **255 options per question**, and **8,192 tokens including the answer token**. Images and `score` questions are not supported by this release. Inputs that exceed these limits raise an error. ## Training JADE was trained on [JADE-Data](https://huggingface.co/datasets/theunnecessarythings/JADE-Data), a synthetic corpus of 160,017 decision-making examples. Labels are derived from programs, simulators, solvers, and structured world state. | Setting | Value | |---|---| | Backbone | Qwen3.8-27B, BF16 | | LoRA rank / alpha | 8 / 16 | | Learning rate | 5e-5 | | Effective batch size | 128 | | Training | One epoch, 160,017 examples | | Selected checkpoint | Step 1,251 | A temperature of **0.288644** was fitted on a separate calibration partition. The inference code applies it to every question. ## Evaluation JADE scores **53.16 on Decision Index 0.2.1**, evaluated on the full suite with [the official reproduction kit](https://github.com/apolinario/decision-index). | Metric | Result | |---|---:| | Decision Index | **53.16** | | Balanced raw | 64.52 | | Breadth skill | 51.97 | | Median latency | 100.3 ms | | p95 latency | 716.9 ms | | Area | Raw score | Chance-adjusted skill | |---|---:|---:| | Knowledge & reasoning | 52.67% | 40.71% | | Language understanding | 71.15% | 57.62% | | Retrieval & classification | 67.53% | 54.40% | | Tools & automation | 76.02% | 73.18% | | Arts & human taste | 51.00% | 34.76% | Run on one **NVIDIA RTX PRO 6000 Blackwell**, using vLLM 0.30.0. [Full results and predictions](https://huggingface.co/datasets/theunnecessarythings/JADE-Decision-Index). To run the official suite, follow the [Decision Index instructions](https://github.com/apolinario/decision-index). After building and verifying the suite, use the included adapter: ```bash python -m decision_index pipeline --edition 0.2.1 \ --suite-dir /path/to/suite-0.2 \ --engine jade.index:DecisionIndexEngine \ --model "$PWD/jade-model" \ --out runs/jade ``` ## License JADE is an independent model, not Jev, and is not affiliated with TypeSafe AI. The weights and original release code are Apache-2.0. The prompt renderer is adapted from [AutoJev](https://huggingface.co/denis-pplx/autojev-27b); its MIT license is included in `LICENSE-AutoJev`.