OneJev,多模态 System One 决策模型

English · 简体中文 · 日本語

Hugging Face Demo GitHub Website License

Data API Python PyTorch Transformers

OneJev 是基于 [Qwen](https://huggingface.co/Qwen) 的多模态 System One 决策模型,一次前向传播即可为截图、照片、视频和文本上的带类型问题返回校准后的概率,提供 0.8B、4B、9B 和 27B 四种尺寸。 ## 🔥 新闻 - 🔥 **2026-10-13** 我们发布了 [OneJev 1.5](https://huggingface.co/collections/OmniJev/onejev15),欢迎试用。 - **2026-09-28** 我们上线了在线 demo,👉 [点我试用](https://huggingface.co/spaces/BradNLP/OneJev)。 - **2026-09-27** 我们发布了 [OneJev](https://huggingface.co/collections/OmniJev/onejev) 和 [OneJev 数据集](https://huggingface.co/datasets/OmniJev/OneJev-Data)。 ## Decision Index(公开部分)

像素柱状图,Decision Index 0.3 公开部分得分,OneJev 1.5 对比 OneJev 1.0:0.8B 42.71 对 22.23(+20.5),4B 54.89 对 40.84(+14.0),9B 59.03 对 45.71(+13.3),27B 63.64 对 55.56(+8.1)

按模型尺寸分的四张 Decision Index 0.3 公开部分排行榜,各列前十,OneJev1.5 高亮:OneJev1.5-0.8B 在 48 个 2.5B 参数以下的模型中排第 1,OneJev1.5-4B 在 34 个 3B 到 6B 的模型中排第 2,OneJev1.5-9B 在 24 个 6B 到 12B 的模型中排第 1,OneJev1.5-27B 在 44 个 25B 到 36B 的模型中排第 5

## 其他评测

像素柱状图:四个尺寸的 OneJev1.5 与 Jev 1.13、Jev-Omni 12B、Qwen3.8-27B 思考模式在 OneJev 测试集、DecisionBench 困难、TypeSafe 和 MMStar 上的对比

准确率(%)。OneJev 测试集是我们自己的留出集,其余为公开评测。 ## 速度

一块 H200、一张 1280x720 截图的延迟:0.8B 1 个问题 31 ms,10 个问题 51 ms,每个问题 5.1 ms;4B 1 个问题 64 ms,10 个问题 104 ms,每个问题 10.4 ms;9B 1 个问题 81 ms,10 个问题 131 ms,每个问题 13.1 ms;27B 1 个问题 189 ms,10 个问题 324 ms,每个问题 32.4 ms

## 快速开始 任选一种后端启动,再运行下面的 Python 示例。 ### 选项 A:PyTorch 适用于 NVIDIA GPU,支持文本、图片和视频。 ```bash pip install "qev[torch] @ git+https://github.com/OmniJev/OneJev.git" qev serve --model OmniJev/OneJev1.5-4B --port 8000 ``` ### 选项 B:llama.cpp 使用 GGUF 模型,支持文本和图片;视频使用 PyTorch。先安装 [llama.cpp](https://github.com/ggml-org/llama.cpp/blob/master/docs/install.md)(macOS 可运行 `brew install llama.cpp`)。 ```bash pip install git+https://github.com/OmniJev/OneJev.git qev serve --gguf prithivMLmods/OneJev1.5-9B-GGUF:Q8_0 --port 8000 ``` ### 选项 C:Docker 仓库附带 Compose 栈,会自动检测硬件并启动一种后端。llama.cpp 配置首次启动时会下载 `prithivMLmods/OneJev1.5-9B-GGUF:Q8_0`;换尺寸或量化请在 `docker/.env` 中设置 `QEV_GGUF`。 ```bash cp docker/.env.example docker/.env # 受限/私有仓库请设置 HF_TOKEN ./docker/start.sh # 自动检测(Windows:.\docker\start.ps1) ./docker/start.sh logs # 跟踪日志 ./docker/start.sh down # 停止所有 profile ``` 用 `./docker/start.sh ` 强制指定后端(加 `--build` 重新构建)。所有配置都在 :8000 提供接口和 Playground 界面。Windows 上仅支持 `torch`(NVIDIA)和 `cpu`。 ### 发起请求 两种后端都在 `http://localhost:8000` 提供相同接口。在另一个终端中,用你自己的 `screenshot.png` 运行示例: ```python from qev import Client, Choice, Noul, Score from qev.media import data_uri r = Client("http://localhost:8000").system_one( state={"任务": "支付 ACME 的待付款发票", "屏幕": ""}, media=[{"type": "image", "data": data_uri("screenshot.png")}], questions={ "完成状态": Noul("发票已付款"), "下一步": Choice("智能体下一步应该做什么?", {"点击": "点击界面元素", "输入": "输入文字", "滚动": "滚动页面", "停止": "停止操作"}), "任务进度": Score("任务完成到哪一步了?", ["尚未开始", "完成一半", "即将完成", "已完成"]), }, ) r.answers["完成状态"].noul # “是”的概率 r.answers["下一步"].probabilities # 每个选项一个概率 r.answers["任务进度"].score # 期望等级 ``` 接口兼容 TypeSafe System One。更多示例:[视频](../examples/video.py)、[curl](../examples/curl.sh)、[官方 TypeSafe SDK](../examples/official_sdk.py)。 ## 训练 ```bash git clone https://github.com/OmniJev/OneJev.git cd OneJev pip install -e ".[train]" # A、B 二选一,下面默认启用 A。 # A. Demo:100 条样本,含图片(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. 全量数据:94,707 条(17.7 GB)。使用 B 时,取消下面两行的注释,并跳过 A。 # hf download OmniJev/OneJev-Data --repo-type dataset --include "data/*.parquet" --local-dir data/onejev # python -m train.unpack data/onejev ``` 两种方式都会生成 `data/onejev/train.jsonl`,并将图片和视频帧解包到 `data/onejev/media/`。 [OneJev-Data](https://huggingface.co/datasets/OmniJev/OneJev-Data) 公开了原始 99,193 道训练题中的 94,707 道,其余来源不允许再分发。 ### 微调 四个模型分别基于 Qwen3.5-0.8B、Qwen3.5-4B、Qwen3.5-9B 和 Qwen3.8-27B,冻结视觉塔,微调一轮。配置使用 `5e-6` 学习率、16,384 token 长度上限,对答案概率计算交叉熵和 Brier 损失。在四张 GPU 上训练 4B 模型: ```bash torchrun --nproc-per-node 4 -m train.sft --config train/configs/onejev_4b_full.yaml ``` 配置:[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)。将 `--nproc-per-node` 设为 GPU 数量;9B 和 27B 配置启用 FSDP,分片存储模型与优化器状态。使用自有数据时,修改配置中的 `train` 和 `media_root`。 4B 的最终模型保存在 `train/runs/onejev_4b/final`,可直接启动: ```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) ## 许可证 [Apache 2.0](../LICENSE) ## 星标与下载量

OneJev 在 GitHub 上的星标 OneJev 在 Hugging Face 上的下载量

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