From 12f794e51686a765aaf659e4f92ff7badc8f4121 Mon Sep 17 00:00:00 2001 From: Prozac614 Date: Mon, 26 Jan 2026 15:47:10 +0800 Subject: [PATCH] [diffusion] fix: fix missing backend argument in pipelines_core initialization (#17343) --- .../sglang/multimodal_gen/configs/pipeline_configs/base.py | 4 ++-- .../multimodal_gen/configs/sample/sampling_params.py | 7 +++++-- .../runtime/entrypoints/openai/common_api.py | 4 ++-- .../multimodal_gen/runtime/pipelines_core/__init__.py | 2 +- 4 files changed, 10 insertions(+), 7 deletions(-) diff --git a/python/sglang/multimodal_gen/configs/pipeline_configs/base.py b/python/sglang/multimodal_gen/configs/pipeline_configs/base.py index 82027f98e..8a669f7cd 100644 --- a/python/sglang/multimodal_gen/configs/pipeline_configs/base.py +++ b/python/sglang/multimodal_gen/configs/pipeline_configs/base.py @@ -547,7 +547,7 @@ class PipelineConfig: f"using {pipeline_config_cls.__name__} directly without model_index.json" ) else: - model_info = get_model_info(model_path) + model_info = get_model_info(model_path, backend=kwargs.get("backend")) if model_info is None: from sglang.multimodal_gen.registry import ( _PIPELINE_CONFIG_REGISTRY, @@ -563,7 +563,7 @@ class PipelineConfig: ) pipeline_config_cls = model_info.pipeline_config_cls else: - model_info = get_model_info(model_path) + model_info = get_model_info(model_path, backend=kwargs.get("backend")) if model_info is None: raise ValueError( f"Could not get model info for '{model_path}'. " diff --git a/python/sglang/multimodal_gen/configs/sample/sampling_params.py b/python/sglang/multimodal_gen/configs/sample/sampling_params.py index 1f6ccb9ce..d5311c10d 100644 --- a/python/sglang/multimodal_gen/configs/sample/sampling_params.py +++ b/python/sglang/multimodal_gen/configs/sample/sampling_params.py @@ -417,14 +417,17 @@ class SamplingParams: def from_pretrained(cls, model_path: str, **kwargs) -> "SamplingParams": from sglang.multimodal_gen.registry import get_model_info - model_info = get_model_info(model_path) + backend = kwargs.pop("backend", None) + model_info = get_model_info(model_path, backend=backend) sampling_params: SamplingParams = model_info.sampling_param_cls(**kwargs) return sampling_params @staticmethod def from_user_sampling_params_args(model_path: str, server_args, *args, **kwargs): try: - sampling_params = SamplingParams.from_pretrained(model_path) + sampling_params = SamplingParams.from_pretrained( + model_path, backend=server_args.backend + ) except (AttributeError, ValueError) as e: # Handle safetensors files or other cases where model_index.json is not available # Use appropriate SamplingParams based on pipeline_class_name from registry diff --git a/python/sglang/multimodal_gen/runtime/entrypoints/openai/common_api.py b/python/sglang/multimodal_gen/runtime/entrypoints/openai/common_api.py index 15b702514..cf16f542a 100644 --- a/python/sglang/multimodal_gen/runtime/entrypoints/openai/common_api.py +++ b/python/sglang/multimodal_gen/runtime/entrypoints/openai/common_api.py @@ -180,7 +180,7 @@ async def available_models(): if not server_args: raise HTTPException(status_code=500, detail="Server args not initialized") - model_info = get_model_info(server_args.model_path) + model_info = get_model_info(server_args.model_path, backend=server_args.backend) card_kwargs = { "id": server_args.model_path, @@ -222,7 +222,7 @@ async def retrieve_model(model: str): }, ) - model_info = get_model_info(server_args.model_path) + model_info = get_model_info(server_args.model_path, backend=server_args.backend) card_kwargs = { "id": model, diff --git a/python/sglang/multimodal_gen/runtime/pipelines_core/__init__.py b/python/sglang/multimodal_gen/runtime/pipelines_core/__init__.py index f2e42ec6c..74d27c00b 100644 --- a/python/sglang/multimodal_gen/runtime/pipelines_core/__init__.py +++ b/python/sglang/multimodal_gen/runtime/pipelines_core/__init__.py @@ -66,7 +66,7 @@ def build_pipeline( ) else: logger.info("No pipeline_class_name specified, using model_index.json") - model_info = get_model_info(model_path) + model_info = get_model_info(model_path, backend=server_args.backend) pipeline_cls = model_info.pipeline_cls logger.info(f"Using pipeline from model_index.json: {pipeline_cls.__name__}")