diff --git a/vllm/transformers_utils/processor.py b/vllm/transformers_utils/processor.py index 98eb9cf33595a..8ba3aec454ad7 100644 --- a/vllm/transformers_utils/processor.py +++ b/vllm/transformers_utils/processor.py @@ -16,6 +16,7 @@ from transformers.processing_utils import ProcessorMixin from transformers.video_processing_utils import BaseVideoProcessor from typing_extensions import TypeVar +from vllm.transformers_utils.utils import convert_model_repo_to_path from vllm.utils.func_utils import get_allowed_kwarg_only_overrides if TYPE_CHECKING: @@ -94,8 +95,8 @@ def get_processor( """Load a processor for the given model name via HuggingFace.""" if revision is None: revision = "main" - try: + processor_name = convert_model_repo_to_path(processor_name) if isinstance(processor_cls, tuple) or processor_cls == ProcessorMixin: processor = AutoProcessor.from_pretrained( processor_name, @@ -168,6 +169,7 @@ def get_feature_extractor( """Load an audio feature extractor for the given model name via HuggingFace.""" try: + processor_name = convert_model_repo_to_path(processor_name) feature_extractor = AutoFeatureExtractor.from_pretrained( processor_name, *args, @@ -217,6 +219,7 @@ def get_image_processor( ): """Load an image processor for the given model name via HuggingFace.""" try: + processor_name = convert_model_repo_to_path(processor_name) processor = AutoImageProcessor.from_pretrained( processor_name, *args, @@ -268,6 +271,7 @@ def get_video_processor( ): """Load a video processor for the given model name via HuggingFace.""" try: + processor_name = convert_model_repo_to_path(processor_name) processor_cls = processor_cls_overrides or AutoVideoProcessor processor = processor_cls.from_pretrained( processor_name, diff --git a/vllm/transformers_utils/utils.py b/vllm/transformers_utils/utils.py index 58c754dbd3974..af2df195f2958 100644 --- a/vllm/transformers_utils/utils.py +++ b/vllm/transformers_utils/utils.py @@ -2,6 +2,7 @@ # SPDX-FileCopyrightText: Copyright contributors to the vLLM project import json +import os import struct from functools import cache from os import PathLike @@ -109,3 +110,13 @@ def parse_safetensors_file_metadata(path: str | PathLike) -> dict[str, Any]: length_of_metadata = struct.unpack(" str: + """When VLLM_USE_MODELSCOPE is True convert a model + repository string to a Path str.""" + if not envs.VLLM_USE_MODELSCOPE or Path(model_repo).exists(): + return model_repo + from modelscope.utils.file_utils import get_model_cache_root + + return os.path.join(get_model_cache_root(), model_repo)