guidellm 0.4.0a21__py3-none-any.whl → 0.4.0a169__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of guidellm might be problematic. Click here for more details.
- guidellm/__init__.py +5 -2
- guidellm/__main__.py +452 -252
- guidellm/backends/__init__.py +33 -0
- guidellm/backends/backend.py +110 -0
- guidellm/backends/openai.py +355 -0
- guidellm/backends/response_handlers.py +455 -0
- guidellm/benchmark/__init__.py +53 -39
- guidellm/benchmark/benchmarker.py +150 -317
- guidellm/benchmark/entrypoints.py +467 -128
- guidellm/benchmark/output.py +519 -771
- guidellm/benchmark/profile.py +580 -280
- guidellm/benchmark/progress.py +568 -549
- guidellm/benchmark/scenarios/__init__.py +40 -0
- guidellm/benchmark/scenarios/chat.json +6 -0
- guidellm/benchmark/scenarios/rag.json +6 -0
- guidellm/benchmark/schemas.py +2086 -0
- guidellm/data/__init__.py +28 -4
- guidellm/data/collators.py +16 -0
- guidellm/data/deserializers/__init__.py +53 -0
- guidellm/data/deserializers/deserializer.py +144 -0
- guidellm/data/deserializers/file.py +222 -0
- guidellm/data/deserializers/huggingface.py +94 -0
- guidellm/data/deserializers/memory.py +194 -0
- guidellm/data/deserializers/synthetic.py +348 -0
- guidellm/data/loaders.py +149 -0
- guidellm/data/preprocessors/__init__.py +25 -0
- guidellm/data/preprocessors/formatters.py +404 -0
- guidellm/data/preprocessors/mappers.py +198 -0
- guidellm/data/preprocessors/preprocessor.py +31 -0
- guidellm/data/processor.py +31 -0
- guidellm/data/schemas.py +13 -0
- guidellm/data/utils/__init__.py +6 -0
- guidellm/data/utils/dataset.py +94 -0
- guidellm/extras/__init__.py +4 -0
- guidellm/extras/audio.py +215 -0
- guidellm/extras/vision.py +242 -0
- guidellm/logger.py +2 -2
- guidellm/mock_server/__init__.py +8 -0
- guidellm/mock_server/config.py +84 -0
- guidellm/mock_server/handlers/__init__.py +17 -0
- guidellm/mock_server/handlers/chat_completions.py +280 -0
- guidellm/mock_server/handlers/completions.py +280 -0
- guidellm/mock_server/handlers/tokenizer.py +142 -0
- guidellm/mock_server/models.py +510 -0
- guidellm/mock_server/server.py +168 -0
- guidellm/mock_server/utils.py +302 -0
- guidellm/preprocess/dataset.py +23 -26
- guidellm/presentation/builder.py +2 -2
- guidellm/presentation/data_models.py +25 -21
- guidellm/presentation/injector.py +2 -3
- guidellm/scheduler/__init__.py +65 -26
- guidellm/scheduler/constraints.py +1035 -0
- guidellm/scheduler/environments.py +252 -0
- guidellm/scheduler/scheduler.py +140 -368
- guidellm/scheduler/schemas.py +272 -0
- guidellm/scheduler/strategies.py +519 -0
- guidellm/scheduler/worker.py +391 -420
- guidellm/scheduler/worker_group.py +707 -0
- guidellm/schemas/__init__.py +31 -0
- guidellm/schemas/info.py +159 -0
- guidellm/schemas/request.py +226 -0
- guidellm/schemas/response.py +119 -0
- guidellm/schemas/stats.py +228 -0
- guidellm/{config.py → settings.py} +32 -21
- guidellm/utils/__init__.py +95 -8
- guidellm/utils/auto_importer.py +98 -0
- guidellm/utils/cli.py +71 -2
- guidellm/utils/console.py +183 -0
- guidellm/utils/encoding.py +778 -0
- guidellm/utils/functions.py +134 -0
- guidellm/utils/hf_datasets.py +1 -2
- guidellm/utils/hf_transformers.py +4 -4
- guidellm/utils/imports.py +9 -0
- guidellm/utils/messaging.py +1118 -0
- guidellm/utils/mixins.py +115 -0
- guidellm/utils/pydantic_utils.py +411 -0
- guidellm/utils/random.py +3 -4
- guidellm/utils/registry.py +220 -0
- guidellm/utils/singleton.py +133 -0
- guidellm/{objects → utils}/statistics.py +341 -247
- guidellm/utils/synchronous.py +159 -0
- guidellm/utils/text.py +163 -50
- guidellm/utils/typing.py +41 -0
- guidellm/version.py +1 -1
- {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/METADATA +33 -10
- guidellm-0.4.0a169.dist-info/RECORD +95 -0
- guidellm/backend/__init__.py +0 -23
- guidellm/backend/backend.py +0 -259
- guidellm/backend/openai.py +0 -705
- guidellm/backend/response.py +0 -136
- guidellm/benchmark/aggregator.py +0 -760
- guidellm/benchmark/benchmark.py +0 -837
- guidellm/benchmark/scenario.py +0 -104
- guidellm/data/prideandprejudice.txt.gz +0 -0
- guidellm/dataset/__init__.py +0 -22
- guidellm/dataset/creator.py +0 -213
- guidellm/dataset/entrypoints.py +0 -42
- guidellm/dataset/file.py +0 -92
- guidellm/dataset/hf_datasets.py +0 -62
- guidellm/dataset/in_memory.py +0 -132
- guidellm/dataset/synthetic.py +0 -287
- guidellm/objects/__init__.py +0 -18
- guidellm/objects/pydantic.py +0 -89
- guidellm/request/__init__.py +0 -18
- guidellm/request/loader.py +0 -284
- guidellm/request/request.py +0 -79
- guidellm/request/types.py +0 -10
- guidellm/scheduler/queues.py +0 -25
- guidellm/scheduler/result.py +0 -155
- guidellm/scheduler/strategy.py +0 -495
- guidellm-0.4.0a21.dist-info/RECORD +0 -62
- {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/WHEEL +0 -0
- {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/entry_points.txt +0 -0
- {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/licenses/LICENSE +0 -0
- {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/top_level.txt +0 -0
guidellm/scheduler/__init__.py
CHANGED
|
@@ -1,47 +1,86 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"""
|
|
2
|
+
Scheduler subsystem for orchestrating benchmark workloads and managing worker processes.
|
|
3
|
+
|
|
4
|
+
This module provides the core scheduling infrastructure for guidellm, including
|
|
5
|
+
strategies for controlling request timing patterns (synchronous, asynchronous,
|
|
6
|
+
constant rate, Poisson), constraints for limiting benchmark execution (duration,
|
|
7
|
+
error rates, request counts), and distributed execution through worker processes.
|
|
8
|
+
The scheduler coordinates between backend interfaces, manages benchmark state
|
|
9
|
+
transitions, and handles multi-turn request sequences with customizable timing
|
|
10
|
+
strategies and resource constraints.
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
from .constraints import (
|
|
14
|
+
Constraint,
|
|
15
|
+
ConstraintInitializer,
|
|
16
|
+
ConstraintsInitializerFactory,
|
|
17
|
+
MaxDurationConstraint,
|
|
18
|
+
MaxErrorRateConstraint,
|
|
19
|
+
MaxErrorsConstraint,
|
|
20
|
+
MaxGlobalErrorRateConstraint,
|
|
21
|
+
MaxNumberConstraint,
|
|
22
|
+
PydanticConstraintInitializer,
|
|
23
|
+
SerializableConstraintInitializer,
|
|
24
|
+
UnserializableConstraintInitializer,
|
|
6
25
|
)
|
|
26
|
+
from .environments import Environment, NonDistributedEnvironment
|
|
7
27
|
from .scheduler import Scheduler
|
|
8
|
-
from .
|
|
28
|
+
from .schemas import (
|
|
29
|
+
BackendInterface,
|
|
30
|
+
BackendT,
|
|
31
|
+
MultiTurnRequestT,
|
|
32
|
+
RequestT,
|
|
33
|
+
ResponseT,
|
|
34
|
+
SchedulerMessagingPydanticRegistry,
|
|
35
|
+
SchedulerState,
|
|
36
|
+
SchedulerUpdateAction,
|
|
37
|
+
SchedulerUpdateActionProgress,
|
|
38
|
+
)
|
|
39
|
+
from .strategies import (
|
|
9
40
|
AsyncConstantStrategy,
|
|
10
41
|
AsyncPoissonStrategy,
|
|
11
42
|
ConcurrentStrategy,
|
|
12
43
|
SchedulingStrategy,
|
|
44
|
+
StrategyT,
|
|
13
45
|
StrategyType,
|
|
14
46
|
SynchronousStrategy,
|
|
15
47
|
ThroughputStrategy,
|
|
16
|
-
strategy_display_str,
|
|
17
|
-
)
|
|
18
|
-
from .worker import (
|
|
19
|
-
GenerativeRequestsWorker,
|
|
20
|
-
GenerativeRequestsWorkerDescription,
|
|
21
|
-
RequestsWorker,
|
|
22
|
-
ResolveStatus,
|
|
23
|
-
WorkerDescription,
|
|
24
|
-
WorkerProcessResult,
|
|
25
48
|
)
|
|
49
|
+
from .worker import WorkerProcess
|
|
50
|
+
from .worker_group import WorkerProcessGroup
|
|
26
51
|
|
|
27
52
|
__all__ = [
|
|
28
53
|
"AsyncConstantStrategy",
|
|
29
54
|
"AsyncPoissonStrategy",
|
|
55
|
+
"BackendInterface",
|
|
56
|
+
"BackendT",
|
|
30
57
|
"ConcurrentStrategy",
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
58
|
+
"Constraint",
|
|
59
|
+
"ConstraintInitializer",
|
|
60
|
+
"ConstraintsInitializerFactory",
|
|
61
|
+
"Environment",
|
|
62
|
+
"MaxDurationConstraint",
|
|
63
|
+
"MaxErrorRateConstraint",
|
|
64
|
+
"MaxErrorsConstraint",
|
|
65
|
+
"MaxGlobalErrorRateConstraint",
|
|
66
|
+
"MaxNumberConstraint",
|
|
67
|
+
"MultiTurnRequestT",
|
|
68
|
+
"NonDistributedEnvironment",
|
|
69
|
+
"PydanticConstraintInitializer",
|
|
70
|
+
"RequestT",
|
|
71
|
+
"ResponseT",
|
|
35
72
|
"Scheduler",
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
73
|
+
"SchedulerMessagingPydanticRegistry",
|
|
74
|
+
"SchedulerState",
|
|
75
|
+
"SchedulerUpdateAction",
|
|
76
|
+
"SchedulerUpdateActionProgress",
|
|
40
77
|
"SchedulingStrategy",
|
|
78
|
+
"SerializableConstraintInitializer",
|
|
79
|
+
"StrategyT",
|
|
41
80
|
"StrategyType",
|
|
42
81
|
"SynchronousStrategy",
|
|
43
82
|
"ThroughputStrategy",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
83
|
+
"UnserializableConstraintInitializer",
|
|
84
|
+
"WorkerProcess",
|
|
85
|
+
"WorkerProcessGroup",
|
|
47
86
|
]
|