File tree Expand file tree Collapse file tree 5 files changed +32
-19
lines changed Expand file tree Collapse file tree 5 files changed +32
-19
lines changed Original file line number Diff line number Diff line change 66
77__all__ = ["GenerativeRequestSession" , "RequestSession" ]
88
9- # TODO: Replace with specific types that implement needed features
109RequestT = TypeVar ("RequestT" )
1110ResponseT = TypeVar ("ResponseT" )
1211
1312
1413class 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
3336class GenerativeRequestSession (RequestSession [GenerationRequest , ResponseSummary ]):
3437 def __init__ (self , request : GenerationRequest ) -> None :
3538 self .request = request
Original file line number Diff line number Diff line change 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 ]]
Original file line number Diff line number Diff line change 11from dataclasses import dataclass
2- from queue import Queue
32from typing import (
43 Generic ,
54 Literal ,
1211from 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
150145class 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 ]]
Original file line number Diff line number Diff line change 44from collections .abc import AsyncGenerator , Iterable , Iterator
55from concurrent .futures import ProcessPoolExecutor
66from multiprocessing import Manager
7- from queue import Empty as QueueEmpty
8- from queue import Queue
97from threading import Event
108from typing import (
119 Any ,
2119 RequestT ,
2220 ResponseT ,
2321)
22+ from guidellm .scheduler .queues import MPQueues , Queue , QueueEmpty
2423from guidellm .scheduler .result import (
25- MPQueues ,
2624 SchedulerRequestResult ,
2725 SchedulerResult ,
2826 SchedulerRunInfo ,
Original file line number Diff line number Diff line change 55from collections .abc import AsyncGenerator
66from dataclasses import dataclass
77from itertools import islice
8- from queue import Empty as QueueEmpty
9- from queue import Queue
108from threading import Event
119from typing import (
1210 Any ,
2927from guidellm .objects import StandardBaseModel
3028from guidellm .request import GenerationRequest
3129from guidellm .request .types import RequestT , ResponseT
30+ from guidellm .scheduler .queues import MPQueues , Queue , QueueEmpty
3231from guidellm .scheduler .result import (
33- MPQueues ,
3432 SchedulerRequestInfo ,
3533 WorkerProcessRequest ,
3634 WorkerProcessResult ,
You can’t perform that action at this time.
0 commit comments