1
1
import asyncio
2
- from typing import IO , Any , Literal , Optional , Union , get_args
2
+ from typing import Literal , Optional , Sequence , TextIO , Union , get_args
3
3
4
4
import click
5
5
from loguru import logger
165
165
)
166
166
def generate_benchmark_report_cli (
167
167
target : str ,
168
- scenario : Optional [Union [IO [ Any ] , str ]],
168
+ scenario : Optional [Union [TextIO , str ]],
169
169
backend : Optional [BackendType ],
170
170
model : Optional [str ],
171
171
data : Optional [str ],
172
172
data_type : Optional [Literal ["emulated" , "file" , "transformers" ]],
173
173
tokenizer : Optional [str ],
174
174
rate_type : Optional [ProfileGenerationMode ],
175
- rate : Optional [float ],
175
+ rate : Optional [Union [ float , Sequence [ float ]] ],
176
176
max_seconds : Optional [int ],
177
177
max_requests : Union [Literal ["dataset" ], int , None ],
178
178
output_path : Optional [str ],
@@ -184,9 +184,8 @@ def generate_benchmark_report_cli(
184
184
185
185
if isinstance (scenario , str ):
186
186
defaults = SCENARIOS [scenario ]
187
- elif isinstance (scenario , IO ):
187
+ elif isinstance (scenario , TextIO ):
188
188
defaults = Scenario .from_json (scenario .read ())
189
- SCENARIOS ["custom" ] = defaults
190
189
elif scenario is None :
191
190
defaults = Scenario ()
192
191
else :
0 commit comments