获取modelscope模型仓库中单个文件下载直连
from modelscope.hub.utils.utils import model_id_to_group_owner_name, get_endpoint
from modelscope.hub.api import HubApi, ModelScopeConfig
from modelscope.hub.file_download import get_file_download_url
model_id = "TabbyML/CodeLlama-13B"
revision = "master"
group_or_owner, name = model_id_to_group_owner_name(model_id)
_api = HubApi()
cookies = ModelScopeConfig.get_cookies()
revision = _api.get_valid_revision(model_id, revision=revision, cookies=cookies)
model_files = _api.get_model_files(
model_id=model_id,
revision=revision,
recursive=True,
use_cookies=False if cookies is None else cookies)
for model_file in model_files:
if model_file['Type'] == 'tree':
continue
print(get_file_download_url(model_id, model_file['Path'], revision))