diff --git a/studio/backend/routes/models.py b/studio/backend/routes/models.py index 8747aefffa..cd2aa8b625 100644 --- a/studio/backend/routes/models.py +++ b/studio/backend/routes/models.py @@ -256,8 +256,9 @@ async def get_model_config( # Load model defaults from backend config_dict = load_model_defaults(model_name) - # Check if it's a vision model - is_vision = is_vision_model(model_name) + # Lazy import to pick up fresh transformers after version switch + from utils.models import is_vision_model as _is_vision_model + is_vision = _is_vision_model(model_name) # Check if it's a LoRA adapter is_lora = False @@ -380,7 +381,9 @@ async def check_vision_model( ensure_transformers_version(model_name) logger.info(f"Checking if vision model: {model_name}") - is_vision = is_vision_model(model_name) + # Lazy import to pick up fresh transformers after version switch + from utils.models import is_vision_model as _is_vision_model + is_vision = _is_vision_model(model_name) logger.info(f"Vision check result for {model_name}: is_vision={is_vision}") return VisionCheckResponse( diff --git a/studio/backend/utils/transformers_version.py b/studio/backend/utils/transformers_version.py index e244525548..15ac70f31e 100644 --- a/studio/backend/utils/transformers_version.py +++ b/studio/backend/utils/transformers_version.py @@ -138,6 +138,12 @@ _PURGE_PREFIXES = ( "accelerate", "auto_gptq", "bitsandbytes", + # Our own modules that import from transformers at module level + # (e.g. model_config.py: `from transformers import AutoConfig`) + "utils.models", + "core.training", + "core.inference", + "core.export", )