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.

Files changed (115) hide show
  1. guidellm/__init__.py +5 -2
  2. guidellm/__main__.py +452 -252
  3. guidellm/backends/__init__.py +33 -0
  4. guidellm/backends/backend.py +110 -0
  5. guidellm/backends/openai.py +355 -0
  6. guidellm/backends/response_handlers.py +455 -0
  7. guidellm/benchmark/__init__.py +53 -39
  8. guidellm/benchmark/benchmarker.py +150 -317
  9. guidellm/benchmark/entrypoints.py +467 -128
  10. guidellm/benchmark/output.py +519 -771
  11. guidellm/benchmark/profile.py +580 -280
  12. guidellm/benchmark/progress.py +568 -549
  13. guidellm/benchmark/scenarios/__init__.py +40 -0
  14. guidellm/benchmark/scenarios/chat.json +6 -0
  15. guidellm/benchmark/scenarios/rag.json +6 -0
  16. guidellm/benchmark/schemas.py +2086 -0
  17. guidellm/data/__init__.py +28 -4
  18. guidellm/data/collators.py +16 -0
  19. guidellm/data/deserializers/__init__.py +53 -0
  20. guidellm/data/deserializers/deserializer.py +144 -0
  21. guidellm/data/deserializers/file.py +222 -0
  22. guidellm/data/deserializers/huggingface.py +94 -0
  23. guidellm/data/deserializers/memory.py +194 -0
  24. guidellm/data/deserializers/synthetic.py +348 -0
  25. guidellm/data/loaders.py +149 -0
  26. guidellm/data/preprocessors/__init__.py +25 -0
  27. guidellm/data/preprocessors/formatters.py +404 -0
  28. guidellm/data/preprocessors/mappers.py +198 -0
  29. guidellm/data/preprocessors/preprocessor.py +31 -0
  30. guidellm/data/processor.py +31 -0
  31. guidellm/data/schemas.py +13 -0
  32. guidellm/data/utils/__init__.py +6 -0
  33. guidellm/data/utils/dataset.py +94 -0
  34. guidellm/extras/__init__.py +4 -0
  35. guidellm/extras/audio.py +215 -0
  36. guidellm/extras/vision.py +242 -0
  37. guidellm/logger.py +2 -2
  38. guidellm/mock_server/__init__.py +8 -0
  39. guidellm/mock_server/config.py +84 -0
  40. guidellm/mock_server/handlers/__init__.py +17 -0
  41. guidellm/mock_server/handlers/chat_completions.py +280 -0
  42. guidellm/mock_server/handlers/completions.py +280 -0
  43. guidellm/mock_server/handlers/tokenizer.py +142 -0
  44. guidellm/mock_server/models.py +510 -0
  45. guidellm/mock_server/server.py +168 -0
  46. guidellm/mock_server/utils.py +302 -0
  47. guidellm/preprocess/dataset.py +23 -26
  48. guidellm/presentation/builder.py +2 -2
  49. guidellm/presentation/data_models.py +25 -21
  50. guidellm/presentation/injector.py +2 -3
  51. guidellm/scheduler/__init__.py +65 -26
  52. guidellm/scheduler/constraints.py +1035 -0
  53. guidellm/scheduler/environments.py +252 -0
  54. guidellm/scheduler/scheduler.py +140 -368
  55. guidellm/scheduler/schemas.py +272 -0
  56. guidellm/scheduler/strategies.py +519 -0
  57. guidellm/scheduler/worker.py +391 -420
  58. guidellm/scheduler/worker_group.py +707 -0
  59. guidellm/schemas/__init__.py +31 -0
  60. guidellm/schemas/info.py +159 -0
  61. guidellm/schemas/request.py +226 -0
  62. guidellm/schemas/response.py +119 -0
  63. guidellm/schemas/stats.py +228 -0
  64. guidellm/{config.py → settings.py} +32 -21
  65. guidellm/utils/__init__.py +95 -8
  66. guidellm/utils/auto_importer.py +98 -0
  67. guidellm/utils/cli.py +71 -2
  68. guidellm/utils/console.py +183 -0
  69. guidellm/utils/encoding.py +778 -0
  70. guidellm/utils/functions.py +134 -0
  71. guidellm/utils/hf_datasets.py +1 -2
  72. guidellm/utils/hf_transformers.py +4 -4
  73. guidellm/utils/imports.py +9 -0
  74. guidellm/utils/messaging.py +1118 -0
  75. guidellm/utils/mixins.py +115 -0
  76. guidellm/utils/pydantic_utils.py +411 -0
  77. guidellm/utils/random.py +3 -4
  78. guidellm/utils/registry.py +220 -0
  79. guidellm/utils/singleton.py +133 -0
  80. guidellm/{objects → utils}/statistics.py +341 -247
  81. guidellm/utils/synchronous.py +159 -0
  82. guidellm/utils/text.py +163 -50
  83. guidellm/utils/typing.py +41 -0
  84. guidellm/version.py +1 -1
  85. {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/METADATA +33 -10
  86. guidellm-0.4.0a169.dist-info/RECORD +95 -0
  87. guidellm/backend/__init__.py +0 -23
  88. guidellm/backend/backend.py +0 -259
  89. guidellm/backend/openai.py +0 -705
  90. guidellm/backend/response.py +0 -136
  91. guidellm/benchmark/aggregator.py +0 -760
  92. guidellm/benchmark/benchmark.py +0 -837
  93. guidellm/benchmark/scenario.py +0 -104
  94. guidellm/data/prideandprejudice.txt.gz +0 -0
  95. guidellm/dataset/__init__.py +0 -22
  96. guidellm/dataset/creator.py +0 -213
  97. guidellm/dataset/entrypoints.py +0 -42
  98. guidellm/dataset/file.py +0 -92
  99. guidellm/dataset/hf_datasets.py +0 -62
  100. guidellm/dataset/in_memory.py +0 -132
  101. guidellm/dataset/synthetic.py +0 -287
  102. guidellm/objects/__init__.py +0 -18
  103. guidellm/objects/pydantic.py +0 -89
  104. guidellm/request/__init__.py +0 -18
  105. guidellm/request/loader.py +0 -284
  106. guidellm/request/request.py +0 -79
  107. guidellm/request/types.py +0 -10
  108. guidellm/scheduler/queues.py +0 -25
  109. guidellm/scheduler/result.py +0 -155
  110. guidellm/scheduler/strategy.py +0 -495
  111. guidellm-0.4.0a21.dist-info/RECORD +0 -62
  112. {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/WHEEL +0 -0
  113. {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/entry_points.txt +0 -0
  114. {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/licenses/LICENSE +0 -0
  115. {guidellm-0.4.0a21.dist-info → guidellm-0.4.0a169.dist-info}/top_level.txt +0 -0
@@ -1,47 +1,86 @@
1
- from .result import (
2
- SchedulerRequestInfo,
3
- SchedulerRequestResult,
4
- SchedulerResult,
5
- SchedulerRunInfo,
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 .strategy import (
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
- "GenerativeRequestsWorker",
32
- "GenerativeRequestsWorkerDescription",
33
- "RequestsWorker",
34
- "ResolveStatus",
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
- "SchedulerRequestInfo",
37
- "SchedulerRequestResult",
38
- "SchedulerResult",
39
- "SchedulerRunInfo",
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
- "WorkerDescription",
45
- "WorkerProcessResult",
46
- "strategy_display_str",
83
+ "UnserializableConstraintInitializer",
84
+ "WorkerProcess",
85
+ "WorkerProcessGroup",
47
86
  ]