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 6
6
7
7
__all__ = ["GenerativeRequestSession" , "RequestSession" ]
8
8
9
- # TODO: Replace with specific types that implement needed features
10
9
RequestT = TypeVar ("RequestT" )
11
10
ResponseT = TypeVar ("ResponseT" )
12
11
13
12
14
13
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
+
15
19
@abstractmethod
16
20
def __len__ (self ) -> int : ...
17
21
@@ -29,7 +33,6 @@ def push_response(self, response: ResponseT) -> None: ...
29
33
def complete (self ) -> bool : ...
30
34
31
35
32
- # TODO: Implement multiturn support
33
36
class GenerativeRequestSession (RequestSession [GenerationRequest , ResponseSummary ]):
34
37
def __init__ (self , request : GenerationRequest ) -> None :
35
38
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 1
1
from dataclasses import dataclass
2
- from queue import Queue
3
2
from typing import (
4
3
Generic ,
5
4
Literal ,
12
11
from guidellm .scheduler .strategy import SchedulingStrategy
13
12
14
13
__all__ = [
15
- "MPQueues" ,
16
14
"SchedulerRequestInfo" ,
17
15
"SchedulerRequestResult" ,
18
16
"SchedulerResult" ,
@@ -143,9 +141,6 @@ class SchedulerRequestResult(
143
141
response : Optional [ResponseT ] = None
144
142
145
143
146
- # TODO: Move dataclasses somewhere else
147
-
148
-
149
144
@dataclass
150
145
class WorkerProcessRequest (Generic [RequestT , ResponseT ]):
151
146
session : RequestSession [RequestT , ResponseT ]
@@ -159,9 +154,3 @@ class WorkerProcessResult(Generic[RequestT, ResponseT]):
159
154
request : RequestT
160
155
response : Optional [ResponseT ]
161
156
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 4
4
from collections .abc import AsyncGenerator , Iterable , Iterator
5
5
from concurrent .futures import ProcessPoolExecutor
6
6
from multiprocessing import Manager
7
- from queue import Empty as QueueEmpty
8
- from queue import Queue
9
7
from threading import Event
10
8
from typing import (
11
9
Any ,
21
19
RequestT ,
22
20
ResponseT ,
23
21
)
22
+ from guidellm .scheduler .queues import MPQueues , Queue , QueueEmpty
24
23
from guidellm .scheduler .result import (
25
- MPQueues ,
26
24
SchedulerRequestResult ,
27
25
SchedulerResult ,
28
26
SchedulerRunInfo ,
Original file line number Diff line number Diff line change 5
5
from collections .abc import AsyncGenerator
6
6
from dataclasses import dataclass
7
7
from itertools import islice
8
- from queue import Empty as QueueEmpty
9
- from queue import Queue
10
8
from threading import Event
11
9
from typing import (
12
10
Any ,
29
27
from guidellm .objects import StandardBaseModel
30
28
from guidellm .request import GenerationRequest
31
29
from guidellm .request .types import RequestT , ResponseT
30
+ from guidellm .scheduler .queues import MPQueues , Queue , QueueEmpty
32
31
from guidellm .scheduler .result import (
33
- MPQueues ,
34
32
SchedulerRequestInfo ,
35
33
WorkerProcessRequest ,
36
34
WorkerProcessResult ,
You can’t perform that action at this time.
0 commit comments