mode-io/vllm-jev
Native vLLM serving for Jev decision models
什么是 vLLM Jev?
vLLM Jev 是一个轻量级包装器,可让您通过高性能的 vLLM 推理引擎部署 Jev 风格 的决策模型(选择、是/否、评分)。它在两个主要平台上运行:
- 搭载 NVIDIA GPU 的 Linux 机器(使用原生 vLLM)。
- Apple Silicon Mac(使用 MLX 或 PyTorch MPS)。
该工具会下载 Hugging Face 检查点,使用 vLLM 编译,并暴露一个简单的 HTTP API(/v1/systemone)。您发送一个问题及候选答案列表,服务器将返回每个选项最可能的标签及其概率。
为什么重要
- 速度:基准测试显示,与原始 PyTorch 参考实现相比,延迟降低了 4–43 倍,尤其是在处理大量并发请求时尤为显著。
- 结构化输出:模型生成的是离散决策(选择、是/否或有序评分),而非自由文本,这使得下游系统更容易消费。
- 多模态支持:部分模型(如 Valen、Clef、RSI‑Jev)除了文本外,还支持图像和短视频。
- 跨平台:首次为 Apple Silicon 提供一流支持,而该平台传统上缺乏快速 LLM 服务支持。
如何开始
- 安装(Linux)使用轻量级
uv包管理器:
在 macOS 上运行辅助脚本uv pip install .scripts/install_mac.sh。 - 启动服务器,例如针对任何支持的检查点:
命令首次使用时会下载模型,然后在vllm-jev serve ZefanCai/Open-Jev-2B # Linux GPU # 或在 Mac 上 vllm-jev serve Valen-Team/Valen-Preview-0923http://127.0.0.1:8795启动 vLLM。 - 发送请求(选择示例):
响应包含curl -sS http://127.0.0.1:8795/v1/systemone \ -H 'Content-Type: application/json' \ -d '{"state":"I was charged twice and want a refund.", "questions":{"intent":{"type":"choice", "instructions":"Choose the customer intent.", "criteria":{"billing":"A payment or refund issue", "technical":"A malfunction or setup issue", "other":"Another request"}}}}'answers.intent.choice和每个选项的概率。
可以运行哪些模型?
| 模型 | 输入类型 | 平台 |
|---|---|---|
| Open‑Jev‑2B / 9B | 文本 | Linux(GPU) |
| Laya 系列 | 文本 | Linux、Mac |
| Valen‑Preview‑0923 | 文本、图像、短视频 | Linux、Mac |
| vjev‑vision / vjev‑vision‑pilot | 文本、图像 | Linux |
| RSI‑Jev(v3.0、v4.0‑VL) | 文本、图像 | Linux |
| Clef‑Flash(9B) / Clef(27B) | 文本、图像、视频 | Linux |
| Tiny‑Jev、OpenJev‑0.6B 等 | 文本 | Linux、Mac |
所有这些模型均使用相同的 vllm-jev serve <model-id> 命令启动;README 中列出了确切的 Hugging Face ID。
主要功能与选项
- 批处理与 KV 缓存 – vLLM 自动处理请求批处理,并重用 KV 缓存以加快后续 token 生成。
- CUDA BF16 精度模式 – 设置
VLLM_JEV_BF16_MATMUL=no_splitk可减少批处理相关的舍入漂移。 - 在线前缀缓存(实验性) – 在 Linux 上为 Open‑Jev‑2B 缓存重复提示。
- Apple-Silicon 优化 – 自适应批处理、前缀重用、内存受限缓存,以及多语言 Laya 的可选 CUDA-Graph 风格读取。
- 标准 vLLM 标志 – 可传递任何
vllm serve选项(GPU 内存使用率、端口、存储路径等)。
性能亮点(来自 README)
| 平台 | 模型 | 输入 | 并发数 | 延迟 ↓ | 吞吐量 ↑ |
|---|---|---|---|---|---|
| Linux + A800 | Open‑Jev‑2B | 短文本 | 8 | 4360 ms → 100 ms | 1.83 → 78.8 req/s |
| Linux + A800 | Laya English | MMLU 样本 | 16 | 404 ms → 77 ms | 39.5 → 203 req/s |
| Mac M5(MLX) | Valen‑Preview | 图像 | 1 | 231.9 ms → 77.3 ms | 4.3 → 12.9 req/s |
这些数字展示了通过 vLLM Jev 服务即可获得的显著提速效果。
更多信息
- 完整用户指南:
docs/guide.md(安装、服务选项、请求格式、视频输入等) - 模型特定详情:README 中的 Supported Models、Additional decision models、RSI‑Jev、Clef 部分。
- 问题与讨论托管在 GitHub 仓库中,供社区协助。
TL;DR:vLLM Jev 将日益增长的决策导向 LLM 检查点家族转化为一个在 NVIDIA GPU Linux 机器和 Apple Silicon Mac 上均能运行的快速、批处理式 HTTP 服务,支持文本、图像和短视频。
相关
- 项目
- 项目
- 项目
- 项目