Skip to content

Commit

Permalink
[Bugfix] Fix VLLM_USE_MODELSCOPE issue (vllm-project#13384)
Browse files Browse the repository at this point in the history
  • Loading branch information
r4ntix authored Feb 17, 2025
1 parent 30513d1 commit ce77eb9
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 7 deletions.
18 changes: 12 additions & 6 deletions vllm/transformers_utils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,12 @@ def list_repo_files(

def lookup_files():
try:
if VLLM_USE_MODELSCOPE:
from vllm.transformers_utils.utils import (
modelscope_list_repo_files)
return modelscope_list_repo_files(repo_id,
revision=revision,
token=token)
return hf_list_repo_files(repo_id,
revision=revision,
repo_type=repo_type,
Expand Down Expand Up @@ -382,17 +388,17 @@ def get_hf_file_to_dict(file_name: str,
@cache
def get_pooling_config(model: str, revision: Optional[str] = 'main'):
"""
This function gets the pooling and normalize
config from the model - only applies to
sentence-transformers models.
This function gets the pooling and normalize
config from the model - only applies to
sentence-transformers models.
Args:
model (str): The name of the Hugging Face model.
revision (str, optional): The specific version
revision (str, optional): The specific version
of the model to use. Defaults to 'main'.
Returns:
dict: A dictionary containing the pooling
dict: A dictionary containing the pooling
type and whether normalization is used.
"""

Expand Down Expand Up @@ -499,7 +505,7 @@ def get_sentence_transformer_tokenizer_config(model: str,
revision=revision,
token=HF_TOKEN)
except Exception as e:
logger.debug("Error getting repo files", e)
logger.error("Error getting repo files", e)
repo_files = []

for config_name in sentence_transformer_config_files:
Expand Down
21 changes: 20 additions & 1 deletion vllm/transformers_utils/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from os import PathLike
from pathlib import Path
from typing import Union
from typing import List, Optional, Union


def is_s3(model_or_path: str) -> bool:
Expand All @@ -20,3 +20,22 @@ def check_gguf_file(model: Union[str, PathLike]) -> bool:
with open(model, "rb") as f:
header = f.read(4)
return header == b"GGUF"


def modelscope_list_repo_files(
repo_id: str,
revision: Optional[str] = None,
token: Union[str, bool, None] = None,
) -> List[str]:
"""List files in a modelscope repo."""
from modelscope.hub.api import HubApi
from modelscope.utils.hf_util import _try_login
_try_login(token)
api = HubApi()
# same as huggingface_hub.list_repo_files
files = [
file['Path'] for file in api.get_model_files(
model_id=repo_id, revision=revision, recursive=True)
if file['Type'] == 'blob'
]
return files

0 comments on commit ce77eb9

Please sign in to comment.