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