mrsaynothing.dev
Jev 决策模型详解

> Jev 决策模型详解▋

用每个选项都带概率的方式回答是非题的微型模型——Jev 决策浪潮,读的是发布记录,不是跑分。

mrsaynothing· 2026年10月7日· 2 分钟读完

✦ 修复curl -fsSL https://ollama.com/install.sh | sh

长话短说:流水线需要一个决定的时候——进哪条队列、放行还是拒绝、贴哪张标签——Jev 决策模型一次前向给出附带概率的答案。本周本地上了六个 checkpoint:五个宽松许可,一个非商用。拿它们做决定,别拿它们讲道理——而且信之前先自己跑数。

诚实声明:这波发布才几天,所以我读的是记录,没有亲手跑。这里的一切来自 Ollama 的公告、llama.cpp 0.6.0 的 release notes 和已公开的 checkpoint 卡。带真实延迟的跑分是下一篇——那些数字才是别人扒不走的。

先补齐这几个词
  • 决策模型——一个用「选择加置信度数字」回答问题的小 AI,而不是一句话
  • 概率——那个置信度数字:0.87 的意思是「每 100 次里 87 次我会给同样的答案」
  • 路由——把每个进来的请求送到对的队列或对的人手里,像分拣员决定包裹走哪辆车
  • 校准——置信度数字说不说真话;校准过的 0.9 十次里对九次
  • GGUF——本地模型落地的文件格式;每个下载列表里都有它

1 · 答案的两种形状

聊天模型用散文回答一切。对流水线一半的需求来说,这是错的形状。分流器要的是哪条队列。门控要的是放行还是拒绝,多有把握。分类器要的是六选一的标签。

让聊天模型做决定,你会得到一句意思大致对的——通常——但每次措辞不同的话,外加一个会静悄悄失败的解析步骤。

你让一个人分拣信件,他给你每封信写一篇小作文。另一位递给你一个分好的托盘,贴着便签:「87% 确定,这是账单堆」。早上六点你信谁?

错误的形状 问聊天模型 30B 聊天模型 写一句话 regex / parse 祈祷 也许 ≈0.9? 正确的形状 问决策模型 决策模型 144M – 27B { "route": "billing", p: 0.87 } { "route": "sales", p: 0.09 } { "route": "other", p: 0.04 } 一次前向 · 每次调用同一形状
fig 1——同一个请求,两种输出契约:一篇等你解析的小作文,对比一个分好的托盘。

2 · Jev 浪潮到底是什么

「Jev」是那份 API 契约的名字:一个模型接一个问题、一份固定选项列表,为每个选项返回概率。TypeSafe 定义了它;本地工具前后一周内跟进。

Ollama 在 9 月 29 日上线本地支持——v0.35 有了自己的 /v1/systemone,发布即带 Nimble 和 Tev1。llama.cpp 跟进于 0.6.0(10 月 5 日):/v1/systemone 端点提供五个开放 GGUF——Julia-1、Laya、Kev-4B、lev、OpenJev——Nimble 几天后落地。

这些模型非常小——144M 到 27B 参数,聊天模型的起点是它们的 30 倍。小正是重点:一个决定就是一次前向,而小到体感即时的模型,改变了哪些任务问得起这个问题。

公开的精度对比只有一份——Bespoke Labs 的 13 个数据集、3,880 条人工标注决策:Nimble 75.7%、Tev1-4B 73.3%、Tev1-0.8B 63.5%,托管的 Jev 1.13 为 76.0%。厂商周边的数字,只能当起点——真正要紧的跑分,跑在你自己的标注上。

想象一下:聊天模型是按小时约的资深顾问。决策模型是前台那枚橡皮章——它只说进哪个托盘,而且永远不累。

3 · 货架上的模型

下表是 llama.cpp 的货架——0.6.0 端点提供的六个 checkpoint(Ollama 的模型库另有自己的一套:Nimble、Tev1、Laya、Clef)。按许可证过滤——OpenJev 是唯一的 NC 条目,商用流水线碰它之前先查清楚。llama.cpp 运行时是 MIT,改变不了权重本身允许什么。

全部 6 个 宽松许可 非商用
Checkpoint 尺寸 许可证 备注
Julia-1 144M Apache-2.0 2–20 个选项,合计上限 8192 token
Laya 421M Apache-2.0 英语路由;别默认它多语言
lev 4B Apache-2.0 文本决策
Kev-4B 4B Apache-2.0 不含参考日期预处理
Nimble 9B Apache-2.0 LoRA 基于 Qwen3.5-9B;本地仅文本
OpenJev 27B CC BY-NC 4.0 经其 projector 支持视觉输入;非商用

第七种形状 Clef 在同一个 0.6.0 发布里(Apache-2.0,文本加视觉),Cloudflare 的 Clef 线也能从 Ollama 拉取。同一个思路,多开几扇门。

尺寸阶梯读起来很简单:144M–421M 这一对跑在闲置 CPU 上,干干净净做路由;4B 这一对在标签变得微妙时才显价值;27B 多了一双眼睛。跑一下 nvidia-smi --query-gpu=memory.total --format=csv,noheader——这个尺寸段,几乎什么卡都够格。

想象一下:尺寸就是工资。144M 拿零钱就干活;只有活儿需要看图时,你才请得起 27B。

4 · 用在哪——以及不用在哪

输出是决定时,用它:请求分流(工单 → 账单 / 销售 / 滥用)、门控(带置信分数的放行或拒绝)、大批量文档分诊——小模型分类,大模型的 token 只花在它标出来的那部分。

需要理由时,别用。带概率的标签不附带理由。流水线一问「为什么」,你就得回到聊天模型——或者自己读文档。

需要靠共识求真时,别用。模型之间的一致不等于验证。全体一致的错误答案,会以最自信的嗓门到来——这正是我们的账本要抓的那种失败模式。

安静的特性:概率本身就是答案

聊天模型说「这大概是账单」,把它自己的校准藏了起来——你只拿到一种措辞,一次。决策模型把数字递到你手上,而 0.51 和 0.99 是两个不同的决定:低于你的阈值,就升级给人,而不是直接执行。这个数字在你自己的标注上说不说真话,release notes 里不会写。这正是跑分的用途——也是它成为下一篇的原因。

verify: ollama run qwen3:0.6b "Reply YES or NO: is 7 prime?"——一个 token 的回答、没有附带小作文,就说明这个形状在你的机器上跑得通。

这波浪潮的下一篇:llama.cpp 对比 Ollama · Ollama 没用上你的 GPU——所有本地 LLM 内容都在local-LLM hub。

faq

— mrsaynothing

$ 分享这篇文章

$ 下一篇实战指南,直达邮箱

每篇一封。修完就走。

self-hosted · 无第三方 · 一键退订

这是什么?