A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 14, 05:30 UTC
[Feature] Change vllm.py with pydantic validation (#26726)
Signed-off-by: Vladislav <vladislav.bronzov@gmail.com> Signed-off-by: Vladislav Bronzov <58587565+VladOS95-cyber@users.noreply.github.com> Co-authored-by: Harry Mellor <19981378+hmellor@users.noreply.github.com>
Vladislav Bronzov committed
Oct 14, 2025 at 14:00 UTC
c715ba373508f293acae1e67e3fbb6c054e6ce12
1 file changed
+11
-11
vllm/config/vllm.py
+11
-11
@@ -7,13 +7,13 @@ import json
7
import os
8
import time
9
from contextlib import contextmanager
10
-from dataclasses import field, replace
10
+from dataclasses import replace
11
from functools import lru_cache
12
from pathlib import Path
13
from typing import TYPE_CHECKING, Any, TypeVar
14
15
import torch
16
-from pydantic import ConfigDict
16
+from pydantic import ConfigDict, Field
17
from pydantic.dataclasses import dataclass
18
19
import vllm.envs as envs
@@ -57,23 +57,23 @@ class VllmConfig:
57
58
# TODO: use default_factory once default constructing ModelConfig doesn't
59
# try to download a model
60
- model_config: ModelConfig = None # type: ignore
60
+ model_config: ModelConfig = Field(default=None)
61
"""Model configuration."""
62
- cache_config: CacheConfig = field(default_factory=CacheConfig)
62
+ cache_config: CacheConfig = Field(default_factory=CacheConfig)
63
"""Cache configuration."""
64
- parallel_config: ParallelConfig = field(default_factory=ParallelConfig)
64
+ parallel_config: ParallelConfig = Field(default_factory=ParallelConfig)
65
"""Parallel configuration."""
66
- scheduler_config: SchedulerConfig = field(default_factory=SchedulerConfig)
66
+ scheduler_config: SchedulerConfig = Field(default_factory=SchedulerConfig)
67
"""Scheduler configuration."""
68
- device_config: DeviceConfig = field(default_factory=DeviceConfig)
68
+ device_config: DeviceConfig = Field(default_factory=DeviceConfig)
69
"""Device configuration."""
70
- load_config: LoadConfig = field(default_factory=LoadConfig)
70
+ load_config: LoadConfig = Field(default_factory=LoadConfig)
71
"""Load configuration."""
72
lora_config: LoRAConfig | None = None
73
"""LoRA configuration."""
74
speculative_config: SpeculativeConfig | None = None
75
"""Speculative decoding configuration."""
76
- structured_outputs_config: StructuredOutputsConfig = field(
76
+ structured_outputs_config: StructuredOutputsConfig = Field(
77
default_factory=StructuredOutputsConfig
78
)
79
"""Structured outputs configuration."""
@@ -81,7 +81,7 @@ class VllmConfig:
81
"""Observability configuration."""
82
quant_config: QuantizationConfig | None = None
83
"""Quantization configuration."""
84
- compilation_config: CompilationConfig = field(default_factory=CompilationConfig)
84
+ compilation_config: CompilationConfig = Field(default_factory=CompilationConfig)
85
"""`torch.compile` and cudagraph capture configuration for the model.
86
87
As a shorthand, `-O<n>` can be used to directly specify the compilation
@@ -103,7 +103,7 @@ class VllmConfig:
103
# some opaque config, only used to provide additional information
104
# for the hash computation, mainly used for testing, debugging or out of
105
# tree config registration.
106
- additional_config: dict | SupportsHash = field(default_factory=dict)
106
+ additional_config: dict | SupportsHash = Field(default_factory=dict)
107
"""Additional config for specified platform. Different platforms may
108
support different configs. Make sure the configs are valid for the platform
109
you are using. Contents must be hashable."""