From 5d200dd8d9a5bf751e3a12e99fe7ec2686064921 Mon Sep 17 00:00:00 2001 From: jiapingW <56055330+jiapingW@users.noreply.github.com> Date: Tue, 30 Dec 2025 21:29:18 +0800 Subject: [PATCH] [diffusion] bench: distinguish between video generation and image generation in the bench_serving (#16149) --- .../benchmarks/bench_serving.py | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/python/sglang/multimodal_gen/benchmarks/bench_serving.py b/python/sglang/multimodal_gen/benchmarks/bench_serving.py index 86a0ef081..5209c7b7d 100644 --- a/python/sglang/multimodal_gen/benchmarks/bench_serving.py +++ b/python/sglang/multimodal_gen/benchmarks/bench_serving.py @@ -16,11 +16,11 @@ Usage: # Image t2i: python3 -m sglang.multimodal_gen.benchmarks.bench_serving \ - --backend sglang-image --dataset vbench --task t2v --num-prompts 20 + --backend sglang-image --dataset vbench --task t2i --num-prompts 20 - i2v: + ti2i(edit): python3 -m sglang.multimodal_gen.benchmarks.bench_serving \ - --backend sglang-image --dataset vbench --task i2v --num-prompts 20 + --backend sglang-image --dataset vbench --task ti2i --num-prompts 20 """ @@ -100,7 +100,7 @@ class VBenchDataset(BaseDataset): self.items = self._load_data() def _load_data(self) -> List[Dict[str, Any]]: - if self.args.task == "t2v": + if self.args.task == "t2v" or self.args.task == "t2i": return self._load_t2v_prompts() elif self.args.task in ["i2v", "ti2v", "ti2i"]: return self._load_i2v_data() @@ -427,7 +427,6 @@ async def async_request_video_sglang( # 1. Submit Job job_id = None - # Check if we need to upload images (Multipart) or just send JSON if input.image_paths and len(input.image_paths) > 0: # Use multipart/form-data @@ -638,12 +637,18 @@ async def benchmark(args): # Setup dataset if args.backend == "sglang-image": - if args.task == "i2v": + if args.task not in ["ti2i", "t2i"]: + raise Exception("sglang-image backend only support ti2i and t2i tasks.") + if args.task == "ti2i": api_url = f"{args.base_url}/v1/images/edits" else: api_url = f"{args.base_url}/v1/images/generations" request_func = async_request_image_sglang elif args.backend == "sglang-video": + if args.task not in ["t2v", "i2v", "ti2v"]: + raise Exception( + "sglang-video backend only support t2v, i2v and ti2v tasks." + ) api_url = f"{args.base_url}/v1/videos" request_func = async_request_video_sglang else: @@ -789,8 +794,8 @@ if __name__ == "__main__": "--task", type=str, default="t2v", - choices=["t2v", "i2v", "ti2v", "ti2i"], - help="Task type.", + choices=["t2v", "i2v", "ti2v", "ti2i", "t2i"], + help="Task type. t2v, i2v, ti2v are used for video generation. ti2i, t2i are used for image generation. ti2i is image edit task and t2i is image generation task.", ) parser.add_argument( "--dataset-path",