Skip to content

Commit ce4c73b

Browse files
committed
Annotate scenario number fields with bounds checks
1 parent a546957 commit ce4c73b

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

src/guidellm/benchmark/scenario.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import yaml
77
from datasets import Dataset, DatasetDict, IterableDataset, IterableDatasetDict
88
from loguru import logger
9-
from pydantic import BeforeValidator
9+
from pydantic import BeforeValidator, NonNegativeInt, PositiveFloat, PositiveInt
1010
from transformers.tokenization_utils_base import ( # type: ignore[import]
1111
PreTrainedTokenizerBase,
1212
)
@@ -81,10 +81,12 @@ class Config:
8181
data_args: Optional[dict[str, Any]] = None
8282
data_sampler: Optional[Literal["random"]] = None
8383
rate_type: Union[StrategyType, ProfileType]
84-
rate: Annotated[Optional[list[float]], BeforeValidator(parse_float_list)] = None
85-
max_seconds: Optional[float] = None
86-
max_requests: Optional[int] = None
87-
warmup_percent: Optional[float] = None
88-
cooldown_percent: Optional[float] = None
89-
output_sampling: Optional[int] = None
84+
rate: Annotated[
85+
Optional[list[PositiveFloat]], BeforeValidator(parse_float_list)
86+
] = None
87+
max_seconds: Optional[PositiveFloat] = None
88+
max_requests: Optional[PositiveInt] = None
89+
warmup_percent: Optional[PositiveFloat] = None
90+
cooldown_percent: Optional[PositiveFloat] = None
91+
output_sampling: Optional[NonNegativeInt] = None
9092
random_seed: int = 42

0 commit comments

Comments
 (0)