mirror of
https://github.com/vllm-project/vllm.git
synced 2025-10-20 14:53:52 +08:00
61 lines
1.8 KiB
Python
61 lines
1.8 KiB
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
import os
|
|
from typing import Optional, Union
|
|
|
|
from transformers.dynamic_module_utils import get_class_from_dynamic_module
|
|
|
|
import vllm.envs as envs
|
|
from vllm.logger import init_logger
|
|
|
|
logger = init_logger(__name__)
|
|
|
|
|
|
def try_get_class_from_dynamic_module(
|
|
class_reference: str,
|
|
pretrained_model_name_or_path: str,
|
|
cache_dir: Optional[Union[str, os.PathLike]] = None,
|
|
force_download: bool = False,
|
|
resume_download: Optional[bool] = None,
|
|
proxies: Optional[dict[str, str]] = None,
|
|
token: Optional[Union[bool, str]] = None,
|
|
revision: Optional[str] = None,
|
|
local_files_only: bool = False,
|
|
repo_type: Optional[str] = None,
|
|
code_revision: Optional[str] = None,
|
|
warn_on_fail: bool = True,
|
|
**kwargs,
|
|
) -> Optional[type]:
|
|
"""
|
|
As `transformers.dynamic_module_utils.get_class_from_dynamic_module`,
|
|
but ignoring any errors.
|
|
"""
|
|
try:
|
|
return get_class_from_dynamic_module(
|
|
class_reference,
|
|
pretrained_model_name_or_path,
|
|
cache_dir=cache_dir,
|
|
force_download=force_download,
|
|
resume_download=resume_download,
|
|
proxies=proxies,
|
|
token=token,
|
|
revision=revision,
|
|
local_files_only=local_files_only,
|
|
repo_type=repo_type,
|
|
code_revision=code_revision,
|
|
**kwargs,
|
|
)
|
|
except Exception:
|
|
location = "ModelScope" if envs.VLLM_USE_MODELSCOPE else "HF Hub"
|
|
|
|
if warn_on_fail:
|
|
logger.warning(
|
|
"Unable to load %s from %s on %s.",
|
|
class_reference,
|
|
pretrained_model_name_or_path,
|
|
location,
|
|
exc_info=True,
|
|
)
|
|
|
|
return None
|