需先从 release 单独下载并解压模型包到 model/ 目录,否则无法启动;默认监听 127.0.0.1:8017,端口被占用时需用 --port 改;设置 JEV_API_KEY 后除 /health 外所有请求都要带 Bearer 认证。
jev
feder-crMIT活跃维护在笔记本 CPU 上本地跑二分类、多选和带概率打分的决策模型,是 Jev 和 Microsoft-Decision-1 的开源替代,支持 GGUF 量化推理。
jevos: an open-source alternative to Jev and Microsoft-Decision-1. Yes/no decisions, choices and scores with probabilities, on your laptop's CPU.
tar -xzf jev-linux-x64.tar.gz
cd jev
unzip ../jevos-v5-openvino-int8.zip
./jev serve仅需 CPU,README 未指定 GPU 型号;约 1 GB 内存,文本缓存占满时约 1.4 GB;基准测试在 Intel Core Ultra 7 255H 笔记本上测得。
在笔记本 CPU 上本地跑 yes/no、多选和打分决策,兼容 Jev API 的开源替代
在笔记本 CPU 上本地跑二分类、多选和带概率打分的决策模型,是 Jev 和 Microsoft-Decision-1 的开源替代,支持 GGUF 量化推理。
核心能力
- 用 /v1/systemone 接口返回每个答案的概率
- 一次请求可对同一段文本问多个问题,文本只读一次
- 提供 noul、choice、score 三种题型并给出置信度
- 单二进制运行,CPU 推理,无需 Python
- 支持 --threads、--host/--port、--model-dir 等启动参数
容易踩的坑
- jevos-v5最新正式版2026-10-16 · 2026-10-16 23:53 UTC
Yes/no decisions on a laptop CPU in 28–130 ms:
jev, one binary for Windows, Linux and macOS, now with jevos-v5 at 8-bit weights. 78.9% on the benchmark's headline yes/no sets and 74.0% on agent instructions (DynaBench); choices 73.5%, scores 48.3%. On the 999 hand-written yes/no questions it gets 79.6%, on held-out rules 88.8%.Questions asked in the negative (#44), such as "Is this not about X?", are now read as negated: on 1,398 plain and negated questions written for that issue, jevos-v5 gets 96.7% of the negated ones right and 99.0% of the plain ones. It was trained on negated questions written the same way, so this checks the fix. Public negation sets test something else, a negation inside the text: there it gets 61.7% on CondaQA and 74.1% on the negation NLI sets of Hossain et al., behind larger models.
Where it is weaker: the support cases of typed_decisions (yes/no 64.7%) and PubMedQA (70.4%); it is also fairly confident when a needed fact is missing from a rated policy. Check it on your own questions before relying on it.
jevos-v5 is a training run of the 17-layer model on a wide mix: policies, records and contract excerpts written as natural text, and yes/no questions asked in the negative; a short second pass on the natural-text part was then averaged with the first run. Measured through
jevitself (OpenVINO INT8).Download the archive for your system and the model, and unpack the model into the
jevfolder:tar -xzf jev-linux-x64.tar.gz # Windows: unzip jev-windows-x64.zip cd jev unzip ../jevos-v5-openvino-int8.zip # creates model/ ./jev serve # Windows: jev.exe serveFile What it is jev-windows-x64.zip,jev-linux-x64.tar.gz(glibc 2.35+),jev-macos-arm64.tar.gzthe jevbinary with OpenVINO's libraries and the licensesjevos-v5-openvino-int8.zipthe model jevruns, asmodel/jevos-v5-q4_k_m.gguf,jevos-v5-q8_0.ggufthe same model as GGUF, for llama.cpp and the tools built on it SHA256SUMS.txtthe SHA-256 of every file here The API, options and numbers are in the README.
- jevos-v42026-10-04 · 2026-10-04 15:17 UTC
查看更新说明
Yes/no decisions on a laptop CPU in 25–110 ms:
jev, one binary for Windows, Linux and macOS, now with jevos-v4 at 8-bit weights. 87.0% on 821 new yes/no questions written by another model family (jevos-v3 86.5%), better scores (58.5% on 2,350 held-out score questions, jevos-v3 56.5%; 63% on everyday ratings, 61%) and choices (79.2%, 78.8%). On the 999 hand-written yes/no questions it gets 78.9%, below jevos-v3's 80.8%: if that set is closest to your use, jevos-v3 stays available in its release. Same size and speed as jevos-v3.jevos-v4 is the weight average of a new training run and jevos-v3. The new run used the same 17-layer model with a wider training mix: jevos-v3's data plus structured records, long written policies and public decision tasks, with uncertain teacher labels filtered out. Across our 24 benchmark sets it averages 67.8%, against 66.2% for jevos-v3. Measured through
jevitself (OpenVINO INT8).Download the archive for your system and the model, and unpack the model into the
jevfolder:tar -xzf jev-linux-x64.tar.gz # Windows: unzip jev-windows-x64.zip cd jev unzip ../jevos-v4-openvino-int8.zip # creates model/ ./jev serve # Windows: jev.exe serveFile What it is jev-windows-x64.zip,jev-linux-x64.tar.gz(glibc 2.35+),jev-macos-arm64.tar.gzthe jevbinary with OpenVINO's libraries and the licensesjevos-v4-openvino-int8.zipthe model jevruns, asmodel/jevos-v4-q4_k_m.gguf,jevos-v4-q8_0.ggufthe same model as GGUF, for llama.cpp and the tools built on it jevos-dino.mp4the recording of jevos playing a Dino-style game SHA256SUMS.txtthe SHA-256 of every file here The API, options and numbers are in the README.
- jevos-v32026-10-02 · 2026-10-02 15:46 UTC
查看更新说明
Yes/no decisions on a laptop CPU in 25–110 ms:
jev, one binary for Windows, Linux and macOS, now with jevos-v3 at 8-bit weights. 80.8% on 999 hand-written yes/no questions (jevos-v2 80.3%), 86.5% on 821 new ones written by another model family (jevos-v2 83.1%), and better scores: 56.5% on 2,350 held-out score questions (54%) and 61% on everyday ratings (55%). Same size and speed as jevos-v2.jevos-v3 is the weight average of three new training runs (same 17-layer model, a training mix that adds natural questions, choice and score questions in the form
jevasks them, and more arithmetic) and jevos-v2. Measured throughjevitself (OpenVINO INT8).Download the archive for your system and the model, and unpack the model into the
jevfolder:tar -xzf jev-linux-x64.tar.gz # Windows: unzip jev-windows-x64.zip cd jev unzip ../jevos-v3-openvino-int8.zip # creates model/ ./jev serve # Windows: jev.exe serveFile What it is jev-windows-x64.zip,jev-linux-x64.tar.gz(glibc 2.35+),jev-macos-arm64.tar.gzthe jevbinary with OpenVINO's libraries and the licensesjevos-v3-openvino-int8.zipthe model jevruns, asmodel/jevos-v3-q4_k_m.gguf,jevos-v3-q8_0.ggufthe same model as GGUF, for llama.cpp and the tools built on it jevos-dino.mp4the recording of jevos playing a Dino-style game SHA256SUMS.txtthe SHA-256 of every file here The API, options and numbers are in the README.
- jevos-v22026-09-30 · 2026-09-30 14:33 UTC
查看更新说明
Yes/no decisions on a laptop CPU in 25–110 ms:
jev, one binary for Windows, Linux and macOS, with jevos-v2 at 8-bit weights. 80.3% on 999 hand-written yes/no questions, 0.810 on 2,000 questions from unseen policies.Download the archive for your system and the model, and unpack the model into the
jevfolder:tar -xzf jev-linux-x64.tar.gz # Windows: unzip jev-windows-x64.zip cd jev unzip ../jevos-v2-openvino-int8.zip # creates model/ ./jev serve # Windows: jev.exe serveFile What it is jev-windows-x64.zip,jev-linux-x64.tar.gz(glibc 2.35+),jev-macos-arm64.tar.gzthe jevbinary with OpenVINO's libraries and the licensesjevos-v2-openvino-int8.zipthe model jevruns, asmodel/jevos-v2-q4_k_m.gguf,jevos-v2-q8_0.ggufthe same model as GGUF, for llama.cpp and the tools built on it jevos-dino.mp4the recording of jevos playing a Dino-style game SHA256SUMS.txtthe SHA-256 of every file here The API, options and numbers are in the README.
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Decisions on a laptop CPU in 28–130 ms. Send a text and a question (yes/no, multiple choice or a score) and get back the probability of each answer, in TypeSafe Jev's API, on your own machine.
Quickstart
From the release, download the archive for your
system and jevos-v5-openvino-int8.zip, then:
tar -xzf jev-linux-x64.tar.gz # Windows: unzip jev-windows-x64.zip
cd jev
unzip ../jevos-v5-openvino-int8.zip # creates model/
./jev serve # Windows: jev.exe serve
The model is also on Hugging Face, feder-cr/jev:
hf download feder-cr/jev --include "model/*" --local-dir jev puts it in jev/model/.
curl http://127.0.0.1:8017/v1/systemone -H 'Content-Type: application/json' -d '{
"model": "jev-latest",
"state": "My invoice shows a charge I do not recognize.",
"questions": {"billing": {"type": "noul", "instructions": "Is this a billing problem?"}}}'
{"model": "jevos-v5", "answers": {"billing": {"type": "noul", "noul": 0.97}}, "usage": {"input_tokens": 28, "output_tokens": 0}}
One binary, CPU only, no Python. The release and the Hugging Face repo also have the model as GGUF for llama.cpp.
Benchmarks
Same questions for every system, through the same HTTP client. Latency is the median of 10 requests (for jevos, of 40 over four sessions) on an Intel Core Ultra 7 255H laptop, 16 threads, each text read from scratch. No task text was used to train jevos; all seven sets were among those used to choose the released checkpoint.
| jevos-v5 | Jev | Laya | |
|---|---|---|---|
| Yes/no questions | ✓ | ✓ | ✓ |
| Multiple choice | ✓ | ✓ | ✓ |
| Scores | ✓ (early) | ✓ | ✓ |
| Runs on | your machine | cloud | your machine |
| Cost | free | per token | free |
| Context | 8,192 tokens | not stated | 512 tokens |
API
POST /v1/systemone, in TypeSafe Jev's wire format: code written for Jev's SDK works unchanged for yes/no
questions. One request can ask several questions about the same text, which is read once:
{
"model": "jev-latest",
"state": {"item": "wireless mouse", "customer_message": "The box arrived empty. This is the second time!"},
"questions": {
"refund": {"type": "noul", "instructions": "Our policy refunds items reported missing within 30 days of delivery. Should this customer get a refund?"},
"team": {"type": "choice", "instructions": "Which team should handle this message?",
"criteria": {"billing": "payments, refunds", "shipping": "deliveries, missing parcels", "tech": "a product that does not work"}},
"anger": {"type": "score", "instructions": "How angry is the customer?", "criteria": ["calm", "annoyed", "angry", "furious"]}
}
}
A noul returns P(yes); a choice the most probable option; a score the expected level. Choices and scores
also return a probability per answer and a confidence: when it is low, send the case to a person. Put the
rule in the question, and do sums in code.
GET /health reports readiness and the SHA-256 of the model files; ./jev decide request.json answers a
request file without a server.
Options
| Option | Default | |
|---|---|---|
--threads | all logical CPUs | fewer if other heavy apps are running |
--host, --port | 127.0.0.1, 8017 | where the server listens |
--model-dir | model beside the binary | the model folder |
With JEV_API_KEY set, every call but /health needs Authorization: Bearer <key>. About 1 GB of memory,
1.4 GB with the text cache full. Every option is described at the top of src/main.cpp.
Build from source
python -m pip install -r requirements.txt # OpenVINO's SDK, CMake, Ninja, the tests' packages
python scripts/build.py # dist/jev; on Windows, from a Visual Studio developer prompt
python tests/check.py # with the model in dist/jev/model
More
Guides and measurements are in the wiki. Built together with Loris Salsi (@LosaLosSantos).