Motivation
The Rust frontend has landed in the vLLM repository as a drop-in alternative to the Python API server process. It is enabled through VLLM_USE_RUST_FRONTEND=1 and uses the existing vLLM engine/core boundary.
The Rust frontend is still experimental and not yet feature-complete relative to the Python frontend. This issue tracks the roadmap for the remaining gaps in feature parity and provides community contributors with a place to find scoped work.
This roadmap prioritizes user value and the Rust frontend's architectural goals over blanket 1:1 parity with the Python frontend. In particular, we may skip:
- Features / endpoints / options that are not commonly used in production
- Options that mainly reflect Python frontend implementation details or Python-side workarounds
- Features whose Python implementation has accumulated enough complexity that redesigning or removing them may be better than porting them directly
For items marked with 🧭: Please start with a design discussion before implementation, covering the intended API/architecture, co-design with the engine if needed, and the testing plan.
Related context:
Current status
Roadmap
Distributed serving and large-scale control plane
Additional APIs
Request compatibility and validation
Production readiness
LoRA adapter support
Multimodal support
RL / admin / lifecycle APIs
Tool and reasoning parser parity
Parser work should prioritize production use and key model families over 100% parity. Additionally, the Rust frontend has a redesigned tool and reasoning parser architecture for more efficient, robust, and maintainable parsing, so prefer adapting the current Rust design over line-by-line Python ports.
Full parser parity checklist
Tool parsers
Reasoning parsers
Testing and compatibility infrastructure
Motivation
The Rust frontend has landed in the vLLM repository as a drop-in alternative to the Python API server process. It is enabled through
VLLM_USE_RUST_FRONTEND=1and uses the existing vLLM engine/core boundary.The Rust frontend is still experimental and not yet feature-complete relative to the Python frontend. This issue tracks the roadmap for the remaining gaps in feature parity and provides community contributors with a place to find scoped work.
This roadmap prioritizes user value and the Rust frontend's architectural goals over blanket 1:1 parity with the Python frontend. In particular, we may skip:
For items marked with 🧭: Please start with a design discussion before implementation, covering the intended API/architecture, co-design with the engine if needed, and the testing plan.
Related context:
vllm-frontend-rs#43283Current status
rust/vllm-rsintegrates withvllm serveas a Python-supervised frontend subprocess/v1/chat/completionssupport (streaming & non-streaming)/v1/completionssupport (streaming & non-streaming)Roadmap
Distributed serving and large-scale control plane
/scale_elastic_ep,/is_scaling_elastic_ep, request draining, and scaling-state rejection behavior 🧭Additional APIs
/v1/messagesand/v1/messages/count_tokens🧭POST /v1/responseswithout requiring durable response storage 🧭/v1/embeddings,/pooling,/classify,/score,/v1/score,/rerank,/v1/rerank,/v2/rerank🧭/v1/audio/transcriptionsand/v1/audio/translations🧭/v1/realtime🧭/generative_scoring/tokenize,/detokenize, and/tokenizer_infoRequest compatibility and validation
stream_options.continuous_usage_statsn > 1for chat completions and completions 🧭use_beam_searchrequest parameter, includinglength_penaltytruncate_prompt_tokensthinking_token_budgetinclude_reasoning=falserepetition_detectionechobehavior for token-ID completions promptsmax_tokens=0prompt-only behaviorProduction readiness
--ssl-keyfile,--ssl-certfile, and related serving arguments--api-key/VLLM_API_KEY--root-pathsupport/server_inforoute parityLoRA adapter support
--lora-modules/v1/load_lora_adapterand/v1/unload_lora_adapterMultimodal support
image_urlchat content path for the currently registered image model specsmm_processor_kwargsandmedia_io_kwargsRL / admin / lifecycle APIs
/pause,/resume, and/is_paused/abort_requests/update_weightsand/init_weight_transfer_engine/get_world_sizeTool and reasoning parser parity
parallel_tool_callsrequiredand named function 🧭allowed_tools🧭Parser work should prioritize production use and key model families over 100% parity. Additionally, the Rust frontend has a redesigned tool and reasoning parser architecture for more efficient, robust, and maintainable parsing, so prefer adapting the current Rust design over line-by-line Python ports.
Full parser parity checklist
Tool parsers
apertuscohere_command3cohere_command4ernie45functiongemmagigachat3granitegranite-20b-fcgranite4hunyuan_a13binternlmjambalfm2llama4_pythonic🧭longcatmimominimaxminimax_m2minimax_m3minicpm5olmo3phi4_mini_jsonpoolside_v1pythonic🧭seed_ossstep3step3p5xlamReasoning parsers
cohere_command3cohere_command4ernie45graniteholo2hunyuan_a13bhy_v3mimominimax_m2_append_thinkmistralolmo3poolside_v1seed_ossstep3p5Testing and compatibility infrastructure
vllm servewithVLLM_USE_RUST_FRONTEND=1on CI