让JEV-27B-VL做出第一次“决策”:POST /v1/decide API完全快速入门指南
【免费下载链接】JEV-27B-VL项目地址: https://ai.gitcode.com/hf_mirrors/autotrust/JEV-27B-VL
JEV-27B-VL 是一个开源、开放权重的多模态决策模型。通过一次POST /v1/decide请求,它能在单次前向推理内为每个选项返回校准过的概率——无需解析自然语言、无需复杂的提示词技巧,文本和图片都支持。这篇文章带新手在 3 个步骤内让 JEV-27B-VL 做出第一次"决策"。
先搞懂:决策模型的 System 1 与 System 2
JEV-27B-VL 用同一个引擎提供两种能力:
| 能力 | 端点 | 你得到什么 | 典型耗时 |
|---|---|---|---|
| System 1(直觉决策) | POST /v1/decide | 是/否、2–256 选 1、0–5 打分,每个选项一条校准概率 | 约 0.1 s |
| System 2(深度思考) | /v1/chat/completions | 完整的 Qwen3.8-27B 逐步推理,支持图像输入 | 数秒 |
/v1/decide就是本文的主角:你只提交{kind, state, question, options},服务端负责组装决策模板、读取选项 token、并应用决策头偏置(adapter_vllm/decision_head.json)与校准温度(calibration.json),任何 HTTP 客户端都能直接调用。
部署 JEV-27B-VL:三步启动决策模型服务
硬件要求:单卡 80 GB 以上显存(vLLM 推理)。
git clone https://gitcode.com/hf_mirrors/autotrust/JEV-27B-VL bash JEV-27B-VL/serve.sh就这么简单。serve.sh 会自动下载模型权重,然后启动 serve_decide.py——它就是标准的 vLLM OpenAI 服务(保留全部 OpenAI 端点),额外挂载了POST /v1/decide路由和GET /v1/decide/info信息端点,默认监听:8000。
💡 需要 256K 长上下文时,启动前设置
MAX_MODEL_LEN=262144即可(80 GB 卡建议 131072 起)。
第一次决策:一条 curl 看懂请求与响应
给 System 1 提一个三选一的问题:
curl localhost:8000/v1/decide -H 'Content-Type: application/json' -d '{ "kind": "choice", "state": "Customer: my card was charged twice for one coffee.", "question": "Which team should handle this?", "options": ["billing", "shipping", "tech support"]}'响应(节选):
{"options": ["billing", "shipping", "tech support"], "probabilities": [0.9969, 0.0000, 0.0031], "choice_index": 0, "choice": "billing", "elapsed_seconds": 0.12, "num_model_requests": 1}四个字段的填写口诀:
| 字段 | 填什么 | 说明 |
|---|---|---|
kind | noul/score/choice | 决策类型,见下节 |
state | 决策所依据的事实 | 字符串、JSON 对象,或文本+图片混合列表 |
question | 关于 state 的一个问题 | 只问一件事 |
options | 2–256 个字符串 | 仅choice需要,每个选项一行、不要含换行符 |
三种决策类型:noul、score、choice 怎么选
noul(是/否):不需要options,返回["false", "true"]的概率。提问时把 "true" 写成你希望发生的结果,例如"客户是在申请退款吗?"score(0–5 打分):返回"0"…"5"的概率分布,期望分即期望值(官方误差 MAE 仅 0.098)。choice(多选一):2–256 个选项一次问完。超过 16 个选项时,标签自动从 A–P 扩展到 Q–Z、AA、AB…(无需重训练,响应中adaptation字段会标注wide-labels)。
📌 官方实测建议:相似的选项各加一行"适用场景"描述,准确率最高 +4.8 分;而改措辞、加指令几乎没有影响——保持提示词朴素即可。
传图做决策:多模态请求怎么写
把图片混进state列表即可,图片用 data URL(或https://地址),图片会被放在它出现的位置:
"state": [ "Photo: ", {"image": "data:image/jpeg;base64,/9j/4AAQ..."} ]例如"判断这张照片是否展示食物"(noul),或"这个商品链接属于哪个分类"(choice+ 4 个类目)。单条请求最多带 8 张图(服务端已按--limit-mm-per-prompt配置);大图建议先缩到 448 px 以内以压低延迟。
不够自信?让模型自动"想一遍"
System 1 概率不够高时,可以让同一引擎切到 System 2 思考后融合:
thinking: "auto"——仅当领先选项概率低于threshold(默认 0.8)时启用思考,最终概率按 0.5 权重融合快决策与推理结果;thinking: "on"——总是思考;return_reasoning: true可取回推理文本;- 随时用
GET /v1/decide/info查看当前上限(256 选项)、校准温度与各模型默认参数。
两个常见部署坑
- 必须
--max-num-seqs 8:超过 8 条并发序列时,vLLM 的 LoRA 路径对该多模态模型会返回错误的 System 1 概率(serve.sh 已内置此参数,超出的请求只是排队)。 - 不要用裸
/v1/completions读概率:模型自带top_k=20 / top_p=0.95生成配置会截断概率分布;serve_decide.py已在内部处理,直接用它最省心。
接下来可以试试
- 完整模型卡与全部端点示例:README.md
- 机器人机械臂抓取、浏览器点击等"每步一次决策"的演示结果:reports/demos/
- 官方提示词写法(实测有效的 8 条规则)见 README 的Writing System 1 prompts一节
一条curl、一次前向、0.1 秒——这就是 JEV-27B-VL 的POST /v1/decide决策 API。把它当作你的分类器、裁判器、推荐排序器,从第一条请求开始即可。
【免费下载链接】JEV-27B-VL项目地址: https://ai.gitcode.com/hf_mirrors/autotrust/JEV-27B-VL
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考