Skip to content

[RFC]: vLLM configuration refactoring and modularization #18953

@jeejeelee

Description

@jeejeelee

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 container

Related 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.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions