@tduncan / Nvidia-Optimization-Stack-VLLM Mirror · read-only / commits / c715ba3735
Fork 0

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