ekzhang/openjev-sglang

Jev-compatible API endpoint based on open models (prefill-only)

What it solves

It provides a server implementation of the TypeSafe/Jev HTTP API, allowing users to perform high-efficiency classification and scoring tasks using the Qwen3.6-35B-A3B model. It specifically addresses the need for fast, one-token readouts for multiple questions (Noul, Choice, and Score) within a single request, avoiding the overhead of long-form generation.

How it works

The server uses SGLang as the inference backend with a Rust frontend, radix caching, and breakable prefill CUDA graphs. When a request arrives, it renders a native chat template once and splits it into a common prefix and multiple question suffixes. It warms the SGLang radix cache with the common prefix and then concurrently sends the prefix plus each question suffix to the backend. Each call requests only one token (max_new_tokens=1) and retrieves the log-probabilities of specific answer labels. These probabilities are then renormalized using a stable softmax to determine the final answer (e.g., the argmax for Choice or a weighted sum for Score).

Who it’s for

Developers who need a high-throughput, low-latency classification API compatible with the Jev API, particularly those deploying on NVIDIA B200 GPUs via Modal.

Highlights

  • High-Efficiency Inference: Uses a prefill-plus-first-token-readout approach to avoid autoregressive generation.
  • Radix Caching: Optimizes performance by reusing common prompt prefixes across multiple questions.
  • B200 Optimized: Designed for deployment on B200 GPUs with SGLang's Rust frontend.
  • Multi-Question Support: Handles up to 64 questions per request, each with multiple answer options.
  • Modal Integration: Includes built-in support for easy deployment and autoscaling on Modal.

Related

  • Project
  • Project
  • Dispatch
  • Project
  • Dispatch