ekzhang/openjev-sglang
Jev-compatible API endpoint based on open models (prefill-only)
解决的问题
提供 TypeSafe/Jev HTTP API 的服务器实现,允许用户使用 Qwen3.6-35B-A3B 模型执行高效率的分类和评分任务。特别针对单个请求中多个问题(Noul、Choice 和 Score)的快速单 token 输出需求,避免长文本生成带来的开销。
工作原理
服务器使用 SGLang 作为推理后端,搭配 Rust 前端、基数缓存和可拆分的预填充 CUDA 图。当请求到达时,仅渲染一次原生聊天模板,并将其拆分为公共前缀和多个问题后缀。使用公共前缀预热 SGLang 的基数缓存,然后并发将前缀与每个问题后缀发送至后端。每次调用仅请求一个 token(max_new_tokens=1),并获取特定答案标签的对数概率。这些概率随后通过稳定 softmax 重新归一化,以确定最终答案(例如 Choice 的 argmax 或 Score 的加权和)。
适用人群
需要与 Jev API 兼容的高吞吐、低延迟分类 API 的开发者,特别是通过 Modal 在 NVIDIA B200 GPU 上部署的场景。
亮点
- 高效率推理:采用预填充 + 第一个 token 读出的方式,避免自回归生成。
- 基数缓存:通过在多个问题间复用公共提示前缀来优化性能。
- B200 优化:专为使用 SGLang 的 Rust 前端在 B200 GPU 上部署而设计。
- 多问题支持:单个请求最多可处理 64 个问题,每个问题包含多个选项。
- Modal 集成:内置支持,可轻松在 Modal 上部署并实现自动扩展。
相关
- 项目
- 项目
- Dispatch
- 项目
- Dispatch