-
-
Notifications
You must be signed in to change notification settings - Fork 11.3k
Closed
Labels
Description
Motivation.
Currently, the vLLM configuration is concentrated in a single large config.py containing over 5000 lines of code with multiple interconnected dataclasses. This monolithic structure has poor maintainability and readability, making it difficult for developers to locate, understand, and modify specific configurations.
Proposed Change.
I plan to split config.py into focused, domain-specific modules to improve code organization and developer experience (as shown below).
vllm/config/
├── __init__.py # Main exports and global functions to maintain backward compatibility.
├── cache_config.py # KV cache configuration
├── compilation_config.py # torch.compile configuration
├── decoding_config.py # Guided decoding configuration
├── device_config.py # Device and platform configuration
├── kvevents_config.py # KV cache event publishing
├── kvtransformer_config.py # Distributed KV cache transfer
├── load_config.py # Model loading configuration
├── lora_config.py # LoRA adapter configuration
├── model_config.py # Core model configuration
├── multimodal_config.py # Multimodal model configuration
├── obervability_config.py # Metrics and tracing configuration
├── parallel_config.py # Distributed execution configuration
├── pass_config.py # Custom Inductor passes configuration
├── pooler_config.py # Output pooling configuration
├── promptadapter_config.py # Prompt adapter configuration
├── scheduler_config.py # Request scheduling configuration
├── speculative_config.py # Speculative decoding configuration
├── tokenizerpool_config.py # Deprecated tokenizer pool config
├── utils.py # Configuration utilities and decorators
└── vllm_config.py # Top-level configuration containerRelated PR: #18830
Feedback Period.
No response
CC List.
@DarkLight1337 @hmellor @houseroad @mgoin @simon-mo @WoosukKwon @youkaichao
Any Other Things.
No response
Before submitting a new issue...
- Make sure you already searched for relevant issues, and asked the chatbot living at the bottom right corner of the documentation page, which can answer lots of frequently asked questions.
chaunceyjiang, hmellor, DarkLight1337, giantcroc, Isotr0py and 9 morelengrongfu