11import asyncio
2- from typing import IO , Any , Literal , Optional , Union , get_args
2+ from typing import Literal , Optional , Sequence , TextIO , Union , get_args
33
44import click
55from loguru import logger
165165)
166166def generate_benchmark_report_cli (
167167 target : str ,
168- scenario : Optional [Union [IO [ Any ] , str ]],
168+ scenario : Optional [Union [TextIO , str ]],
169169 backend : Optional [BackendType ],
170170 model : Optional [str ],
171171 data : Optional [str ],
172172 data_type : Optional [Literal ["emulated" , "file" , "transformers" ]],
173173 tokenizer : Optional [str ],
174174 rate_type : Optional [ProfileGenerationMode ],
175- rate : Optional [float ],
175+ rate : Optional [Union [ float , Sequence [ float ]] ],
176176 max_seconds : Optional [int ],
177177 max_requests : Union [Literal ["dataset" ], int , None ],
178178 output_path : Optional [str ],
@@ -184,9 +184,8 @@ def generate_benchmark_report_cli(
184184
185185 if isinstance (scenario , str ):
186186 defaults = SCENARIOS [scenario ]
187- elif isinstance (scenario , IO ):
187+ elif isinstance (scenario , TextIO ):
188188 defaults = Scenario .from_json (scenario .read ())
189- SCENARIOS ["custom" ] = defaults
190189 elif scenario is None :
191190 defaults = Scenario ()
192191 else :
0 commit comments