From 550d97eb58f03b21f0f4c9ef1935c2789186a5a0 Mon Sep 17 00:00:00 2001 From: Isotr0py Date: Thu, 20 Feb 2025 02:57:48 +0800 Subject: [PATCH] [Misc] Avoid calling unnecessary `hf_list_repo_files` for local model path (#13348) Signed-off-by: isotr0py <2037008807@qq.com> --- vllm/transformers_utils/config.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/vllm/transformers_utils/config.py b/vllm/transformers_utils/config.py index 4768226f9a03f..dd6ee9a34adbe 100644 --- a/vllm/transformers_utils/config.py +++ b/vllm/transformers_utils/config.py @@ -115,7 +115,14 @@ def list_repo_files( token: Union[str, bool, None] = None, ) -> list[str]: - def lookup_files(): + def lookup_files() -> list[str]: + # directly list files if model is local + if (local_path := Path(repo_id)).exists(): + return [ + str(file.relative_to(local_path)) + for file in local_path.rglob('*') if file.is_file() + ] + # if model is remote, use hf_hub api to list files try: if VLLM_USE_MODELSCOPE: from vllm.transformers_utils.utils import ( @@ -154,8 +161,8 @@ def file_exists( # In offline mode the result can be a false negative def file_or_path_exists(model: Union[str, Path], config_name: str, revision: Optional[str]) -> bool: - if Path(model).exists(): - return (Path(model) / config_name).is_file() + if (local_path := Path(model)).exists(): + return (local_path / config_name).is_file() # Offline mode support: Check if config file is cached already cached_filepath = try_to_load_from_cache(repo_id=model,