OneJev, a Multimodal System One Decision Model

English · 简体中文 · 日本語

Hugging Face Demo GitHub Website License

Data API Python PyTorch Transformers

OneJev is a multimodal System One decision model based on [Qwen](https://huggingface.co/Qwen). It returns calibrated probabilities for typed questions about screenshots, photos, videos and text in a single forward pass. Available in 0.8B, 4B, 9B and 27B. ## 🔥 News - 🔥 **2026-10-13** We released [OneJev 1.5](https://huggingface.co/collections/OmniJev/onejev15). Welcome to have a try. - **2026-09-28** We released the online demo, 👉 [Click me](https://huggingface.co/spaces/BradNLP/OneJev). - **2026-09-27** We released [OneJev](https://huggingface.co/collections/OmniJev/onejev) and the [OneJev dataset](https://huggingface.co/datasets/OmniJev/OneJev-Data). ## Decision Index (public part)

Block column chart of public Decision Index 0.3 scores, OneJev 1.5 against OneJev 1.0: 0.8B 42.71 vs 22.23 (+20.5), 4B 54.89 vs 40.84 (+14.0), 9B 59.03 vs 45.71 (+13.3), 27B 63.64 vs 55.56 (+8.1)

Four leaderboards of the public Decision Index 0.3 by model size, top ten each, OneJev1.5 highlighted: OneJev1.5-0.8B first of 48 models up to 2.5B parameters, OneJev1.5-4B second of 34 models of 3B to 6B, OneJev1.5-9B first of 24 models of 6B to 12B, OneJev1.5-27B fifth of 44 models of 25B to 36B

## Other benchmarks

Block bar charts: the four OneJev1.5 sizes against Jev 1.13, Jev-Omni 12B and Qwen3.8-27B thinking on the OneJev test set, DecisionBench hard, TypeSafe and MMStar

Accuracy (%). The OneJev test set is our own held-out set; the others are public. ## Speed

Latency on one H200 for one 1280x720 screenshot: 0.8B 31 ms for 1 question, 51 ms for 10, 5.1 ms per question; 4B 64 ms for 1 question, 104 ms for 10, 10.4 ms per question; 9B 81 ms for 1 question, 131 ms for 10, 13.1 ms per question; 27B 189 ms for 1 question, 324 ms for 10, 32.4 ms per question

## Quick start Choose one backend, then run the Python example below. ### Option A: PyTorch For NVIDIA GPUs. Supports text, images and video. ```bash pip install "qev[torch] @ git+https://github.com/OmniJev/OneJev.git" qev serve --model OmniJev/OneJev1.5-4B --port 8000 ``` ### Option B: llama.cpp For GGUF models. Supports text and images; use PyTorch for video. Install [llama.cpp](https://github.com/ggml-org/llama.cpp/blob/master/docs/install.md) first (`brew install llama.cpp` on macOS). ```bash pip install git+https://github.com/OmniJev/OneJev.git qev serve --gguf prithivMLmods/OneJev1.5-9B-GGUF:Q8_0 --port 8000 ``` ### Option C: Docker The repo ships a Compose stack that detects your hardware and starts one backend. The llama.cpp profiles download `prithivMLmods/OneJev1.5-9B-GGUF:Q8_0` on first start; set `QEV_GGUF` in `docker/.env` for another size or quant. ```bash cp docker/.env.example docker/.env # set HF_TOKEN for gated/private repos ./docker/start.sh # auto-detect (Windows: .\docker\start.ps1) ./docker/start.sh logs # follow logs ./docker/start.sh down # stop every profile ``` Force a backend with `./docker/start.sh ` (add `--build` to rebuild). Every profile serves the API and the playground on :8000. On Windows only `torch` (NVIDIA) and `cpu` are available. ### Send a request Both backends serve the same API at `http://localhost:8000`. In another terminal, run this example with your own `screenshot.png`: ```python from qev import Client, Choice, Noul, Score from qev.media import data_uri r = Client("http://localhost:8000").system_one( state={"task": "Pay the open invoice from ACME", "screen": ""}, media=[{"type": "image", "data": data_uri("screenshot.png")}], questions={"done": Noul("The invoice has been paid"), "next": Choice("What should the agent do next?", {"click": "click an element", "type": "type text", "scroll": "scroll", "stop": "stop"}), "progress": Score("How far along is the task?", ["not started", "halfway", "almost done", "done"])}, ) r.answers["done"].noul # probability of yes r.answers["next"].probabilities # one probability per option r.answers["progress"].score # expected level ``` The API is compatible with TypeSafe System One. More examples: [video](examples/video.py), [curl](examples/curl.sh), [official TypeSafe SDK](examples/official_sdk.py). ## Training ```bash git clone https://github.com/OmniJev/OneJev.git cd OneJev pip install -e ".[train]" # Choose A or B. A is enabled below. # A. Demo: 100 examples with images (23 MB) hf download OmniJev/OneJev-Data sample/sample-100.parquet --repo-type dataset --local-dir data/onejev python -m train.unpack data/onejev --sample # B. Full dataset: 94,707 examples (17.7 GB). Uncomment these two lines instead of A. # hf download OmniJev/OneJev-Data --repo-type dataset --include "data/*.parquet" --local-dir data/onejev # python -m train.unpack data/onejev ``` Either option creates `data/onejev/train.jsonl` and extracts images and video frames into `data/onejev/media/`. [OneJev-Data](https://huggingface.co/datasets/OmniJev/OneJev-Data) releases 94,707 of the original 99,193 training questions; the remaining sources do not permit redistribution. ### Fine-tune The four models fine-tune Qwen3.5-0.8B, Qwen3.5-4B, Qwen3.5-9B and Qwen3.8-27B for one epoch with the vision tower frozen. The configs use a learning rate of `5e-6`, a 16,384-token limit, and cross-entropy plus Brier loss over answer probabilities. To train the 4B model on four GPUs: ```bash torchrun --nproc-per-node 4 -m train.sft --config train/configs/onejev_4b_full.yaml ``` Configs: [0.8B](train/configs/onejev_08b_full.yaml) · [4B](train/configs/onejev_4b_full.yaml) · [9B](train/configs/onejev_9b_full.yaml) · [27B](train/configs/onejev_27b_full.yaml). Set `--nproc-per-node` to your GPU count; the 9B and 27B configs enable FSDP to shard model and optimizer state. For your own data, change `train` and `media_root` in the config. The final 4B checkpoint is saved to `train/runs/onejev_4b/final`. Start it with: ```bash qev serve --model train/runs/onejev_4b/final --port 8000 ``` ## Friendly Links - [LINUX DO](https://linux.do) - [Jev](https://typesafe.ai) - [Awesome JEV](https://github.com/OmniJev/awesome-jev-gallery) - [Awesome JEV Website](https://omnijev.github.io/awesome-jev-gallery/) - [PlayJev](https://github.com/OmniJev/PlayJev) ## License [Apache 2.0](LICENSE) ## Stars and downloads

OneJev stars on GitHub OneJev downloads on Hugging Face

## Citation ```bibtex @misc{onejev2026, title = {{OneJev}: A Multimodal System One Decision Model}, author = {{OmniJev Team}}, year = {2026}, howpublished = {\url{https://github.com/OmniJev/OneJev}} } ```