Skip to content

Commit cf81f0a

Browse files
committed
Move queue config to seperate submodule
1 parent dfd23fd commit cf81f0a

File tree

5 files changed

+32
-19
lines changed

5 files changed

+32
-19
lines changed

src/guidellm/request/session.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,16 @@
66

77
__all__ = ["GenerativeRequestSession", "RequestSession"]
88

9-
# TODO: Replace with specific types that implement needed features
109
RequestT = TypeVar("RequestT")
1110
ResponseT = TypeVar("ResponseT")
1211

1312

1413
class RequestSession(ABC, Generic[RequestT, ResponseT]):
14+
"""
15+
A series of requests that build upon each other to
16+
form a conversion between the user and the model.
17+
"""
18+
1519
@abstractmethod
1620
def __len__(self) -> int: ...
1721

@@ -29,7 +33,6 @@ def push_response(self, response: ResponseT) -> None: ...
2933
def complete(self) -> bool: ...
3034

3135

32-
# TODO: Implement multiturn support
3336
class GenerativeRequestSession(RequestSession[GenerationRequest, ResponseSummary]):
3437
def __init__(self, request: GenerationRequest) -> None:
3538
self.request = request

src/guidellm/scheduler/queues.py

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
"""
2+
Helper module for importing the correct queue types.
3+
"""
4+
5+
from dataclasses import dataclass
6+
from queue import Empty as QueueEmpty
7+
from queue import Full as QueueFull
8+
from queue import Queue
9+
from typing import Generic
10+
11+
from guidellm.request.types import RequestT, ResponseT
12+
from guidellm.scheduler.result import WorkerProcessRequest, WorkerProcessResult
13+
14+
__all__ = [
15+
"MPQueues",
16+
"Queue",
17+
"QueueEmpty",
18+
"QueueFull",
19+
]
20+
21+
22+
@dataclass
23+
class MPQueues(Generic[RequestT, ResponseT]):
24+
requests: Queue[WorkerProcessRequest[RequestT, ResponseT]]
25+
responses: Queue[WorkerProcessResult[RequestT, ResponseT]]

src/guidellm/scheduler/result.py

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
from dataclasses import dataclass
2-
from queue import Queue
32
from typing import (
43
Generic,
54
Literal,
@@ -12,7 +11,6 @@
1211
from guidellm.scheduler.strategy import SchedulingStrategy
1312

1413
__all__ = [
15-
"MPQueues",
1614
"SchedulerRequestInfo",
1715
"SchedulerRequestResult",
1816
"SchedulerResult",
@@ -143,9 +141,6 @@ class SchedulerRequestResult(
143141
response: Optional[ResponseT] = None
144142

145143

146-
# TODO: Move dataclasses somewhere else
147-
148-
149144
@dataclass
150145
class WorkerProcessRequest(Generic[RequestT, ResponseT]):
151146
session: RequestSession[RequestT, ResponseT]
@@ -159,9 +154,3 @@ class WorkerProcessResult(Generic[RequestT, ResponseT]):
159154
request: RequestT
160155
response: Optional[ResponseT]
161156
info: SchedulerRequestInfo
162-
163-
164-
@dataclass
165-
class MPQueues(Generic[RequestT, ResponseT]):
166-
requests: Queue[WorkerProcessRequest[RequestT, ResponseT]]
167-
responses: Queue[WorkerProcessResult[RequestT, ResponseT]]

src/guidellm/scheduler/scheduler.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
from collections.abc import AsyncGenerator, Iterable, Iterator
55
from concurrent.futures import ProcessPoolExecutor
66
from multiprocessing import Manager
7-
from queue import Empty as QueueEmpty
8-
from queue import Queue
97
from threading import Event
108
from typing import (
119
Any,
@@ -21,8 +19,8 @@
2119
RequestT,
2220
ResponseT,
2321
)
22+
from guidellm.scheduler.queues import MPQueues, Queue, QueueEmpty
2423
from guidellm.scheduler.result import (
25-
MPQueues,
2624
SchedulerRequestResult,
2725
SchedulerResult,
2826
SchedulerRunInfo,

src/guidellm/scheduler/worker.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55
from collections.abc import AsyncGenerator
66
from dataclasses import dataclass
77
from itertools import islice
8-
from queue import Empty as QueueEmpty
9-
from queue import Queue
108
from threading import Event
119
from typing import (
1210
Any,
@@ -29,8 +27,8 @@
2927
from guidellm.objects import StandardBaseModel
3028
from guidellm.request import GenerationRequest
3129
from guidellm.request.types import RequestT, ResponseT
30+
from guidellm.scheduler.queues import MPQueues, Queue, QueueEmpty
3231
from guidellm.scheduler.result import (
33-
MPQueues,
3432
SchedulerRequestInfo,
3533
WorkerProcessRequest,
3634
WorkerProcessResult,

0 commit comments

Comments
 (0)