| """HuggingFace 模型加载工具:优先本地缓存,失败时自动下载""" | |
| from typing import Callable, TypeVar | |
| T = TypeVar("T") | |
| def from_pretrained_local_first(loader: Callable[[bool], T]) -> T: | |
| """优先从本地缓存加载,失败时从 Hub 下载。loader(local_files_only: bool) -> model""" | |
| try: | |
| return loader(True) | |
| except Exception: | |
| return loader(False) | |