diff --git a/vllm/model_executor/models/registry.py b/vllm/model_executor/models/registry.py index 3818b83b6..362028ebf 100644 --- a/vllm/model_executor/models/registry.py +++ b/vllm/model_executor/models/registry.py @@ -887,6 +887,7 @@ class _ModelRegistry: module, model_config.model, revision=model_config.revision, + trust_remote_code=model_config.trust_remote_code, warn_on_fail=False, ) @@ -899,6 +900,7 @@ class _ModelRegistry: module, model_config.model, revision=model_config.revision, + trust_remote_code=model_config.trust_remote_code, warn_on_fail=True, ) if model_module is not None: diff --git a/vllm/transformers_utils/dynamic_module.py b/vllm/transformers_utils/dynamic_module.py index 24ead8378..f0702b15b 100644 --- a/vllm/transformers_utils/dynamic_module.py +++ b/vllm/transformers_utils/dynamic_module.py @@ -2,7 +2,10 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project import os -from transformers.dynamic_module_utils import get_class_from_dynamic_module +from transformers.dynamic_module_utils import ( + get_class_from_dynamic_module, + resolve_trust_remote_code, +) import vllm.envs as envs from vllm.logger import init_logger @@ -13,6 +16,7 @@ logger = init_logger(__name__) def try_get_class_from_dynamic_module( class_reference: str, pretrained_model_name_or_path: str, + trust_remote_code: bool, cache_dir: str | os.PathLike | None = None, force_download: bool = False, resume_download: bool | None = None, @@ -30,6 +34,13 @@ def try_get_class_from_dynamic_module( but ignoring any errors. """ try: + resolve_trust_remote_code( + trust_remote_code, + pretrained_model_name_or_path, + has_local_code=False, + has_remote_code=True, + ) + return get_class_from_dynamic_module( class_reference, pretrained_model_name_or_path,