下载接口
om_hub_download
下载单个文件,示例如下:
python
from openmind_hub import om_hub_download
om_hub_download(
repo_id="PyTorch-NPU/t5_small",
filename="config.json",
subfolder=None,
repo_type=None,
revision=None,
cache_dir=None,
local_dir="demo/t5_small",
local_dir_use_symlinks="auto",
user_agent=None,
force_download=False,
proxies=None,
token=None,
local_files_only=False,
endpoint=None,
resume_download=True,
)
- repo_id(
str):目标仓库,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - filename(
str): 要下载的文件。 - subfolder(
str, 可选): 文件的父目录,若文件无父目录或filename参数已包含文件父目录,则此参数为None。 - repo_type(
str, 可选):仓库类型,包括“model”、“dataset”或“space”,默认为None。若为None时则代表“model”。 - revision(
str, 可选):分支名称,由字母、数字、下划线(_)或中划线(-)组成。 - cache_dir(
str、Path或None, 可选):缓存保存在本地的路径,默认为~/.cache/openmind/hub。 - local_dir(
str、Path或None, 可选):文件下载到本地的路径,默认只在缓存中创建.symlink文件。 - local_dir_use_symlinks(
"auto"或bool, 可选):与local_dir参数一起使用。若为"auto",则会由文件大小决定是否创建.symlink文件;如果为True,则会为所有文件创建.symlink文件;如果为False,则不会为任何文件创建.symlink文件。默认为"auto"。 - user_agent(
Dict、str或None, 可选):用户代理信息。 - force_download(
bool, 默认为False, 可选):是否强制下载文件,无论缓存是否存在。 - proxies(
Dict, 可选):代理信息。 - token(
str, 可选):若为公仓,则可省略;若为私仓,则为对目标仓库具有可读权限的访问令牌。 - local_files_only(
bool, 可选):若为True,则不会下载文件,仅会在本地存在缓存的情况下返回缓存的路径, 默认为False。 - endpoint(
str, 可选):指定访问的域名或IP,若为None则指定默认生产环境域名。 - resume_download(
bool, 可选):是否恢复之前中断的下载,默认为True。 - kwargs:仅为兼容第三方组件,本身并无作用。
snapshot_download
下载仓库内的文件,示例如下:
python
from openmind_hub import snapshot_download
snapshot_download(
repo_id="PyTorch-NPU/t5_small",
repo_type=None,
revision=None,
cache_dir=None,
local_dir="demo/t5_small",
local_dir_use_symlinks="auto",
library_name=None,
library_version=None,
user_agent=None,
proxies=None,
resume_download=True,
force_download=False,
token=None,
local_files_only=False,
allow_patterns="allowed_folder\*", # 只下载allowed_folder目录下的文件
ignore_patterns=["*.log", "*.txt"], # 不下载以.log和.txt结尾的文件
max_workers=8,
tqdm_class=None,
endpoint=None,
)
- repo_id(
str):目标仓库,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - repo_type(
str, 可选):仓库类型,包括“model”、“dataset”或“space”,默认为None。若为None时则代表“model”。 - revision(
str, 可选):分支名称,由字母、数字、下划线(_)或中划线(-)组成。 - cache_dir(
str、Path或None, 可选):缓存保存在本地的路径,默认为~/.cache/openmind/hub。 - local_dir(
str、Path或None, 可选):文件下载到本地的路径,默认只在缓存中创建.symlink文件。 - local_dir_use_symlinks(
"auto"或bool, 可选):与local_dir参数一起使用。若为"auto",则会由文件大小决定是否创建.symlink文件;如果为True,则会为所有文件创建.symlink文件;如果为False,则不会为任何文件创建.symlink文件。默认为"auto"。 - library_name(
str, 可选): 发起对外请求的库的名称。 - library_version(
str, 可选): 发起对外请求的库的版本。 - user_agent(
str或Dict, 可选): 发起对外请求的用户信息。 - proxies(
Dict, 可选):代理信息。 - resume_download(
bool, 可选):是否恢复之前中断的下载,默认为True。 - force_download(
bool, 默认为False, 可选):是否强制下载文件,无论缓存是否存在。 - token(
str, 可选):若为公仓,则可省略;若为私仓,则为对目标仓库具有可读权限的访问令牌。 - local_files_only(
bool, 可选):若为True,则不会下载文件,仅会在本地存在缓存的情况下返回缓存的路径, 默认为False。 - allow_patterns(
List[str]或str, 可选):只允许下载某类文件。如allow_patterns="allowed_folder\*"表示只下载allowed_folder目录下的文件。 - ignore_patterns(
List[str]或str, 可选):忽略下载某类文件。如ignore_patterns="*.log"表示忽略所有日志文件。 - max_workers(
int, 可选):下载所使用的线程数目,默认为8。 - tqdm_class(
tqdm.auto.tqdm_asyncio类, 可选):进度条使用的tqdm类,默认为None,使用默认进度条。 - endpoint(
str, 可选):指定访问的域名或IP,若为None则指定默认生产环境域名。 - kwargs:仅为兼容第三方组件,本身并无作用。
get_om_file_metadata
获取文件信息,示例如下:
python
from openmind_hub import get_om_file_metadata
get_om_file_metadata(
url='https://modelers.cn/api/v1/file/PyTorch-NPU/t5_small/info?ref=main&path=README.md',
token=None,
proxies=None,
timeout=10,
)
- url(
str):要获取的文件信息的url地址,必须以生产环境域名开头(可通过设置环境变量OPENMIND_HUB_ENDPOINT修改)。 - token(
str, 可选):若为公仓,则可省略;若为私仓,则为对目标仓库具有可读权限的访问令牌。 - proxies(
Dict, 可选): 代理信息。 - timeout(
int或float, 可选):对外请求的超时时间,单位为秒,默认为10秒。 - kwargs:仅为兼容第三方组件,本身并无作用。
om_hub_url
根据给出的仓库名和文件名等信息拼接文件下载的url地址,示例如下:
python
from openmind_hub import om_hub_url
om_hub_url(
repo_id="PyTorch-NPU/t5_small",
filename="config.json",
subfolder=None,
revision=None,
endpoint=None,
)
- repo_id(
str):目标仓库,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - filename(
str): 要下载的文件。 - subfolder(
str, 可选):要下载的文件的父目录,若filename已包含父目录,则不需要再填写此参数。 - revision(
str, 可选):要下载的文件所在分支,由字母、数字、下划线(_)或中划线(-)组成。 - endpoint(
str, 可选):指定访问的域名或IP,若为None则指定默认生产环境域名。 - kwargs:仅为兼容第三方组件,本身并无作用。
http_get
下载文件,一般情况下请使用om_hub_download方法下载文件,其提供了更完善、安全、易用的下载功能。使用http_get时,请注意避免覆盖重要文件内容。示例如下:
python
from openmind_hub import http_get, om_hub_url
http_get(
url=om_hub_url(repo_id="owner/repo", filename="filename"),
temp_file=open('/demo/file', 'wb'),
proxies=None,
headers=None,
displayed_filename=None,
resume_size=0,
expected_size=None,
_nb_retries=5,
)
- url(
str):下载文件的url地址,必须以生产环境域名开头(可通过设置环境变量OPENMIND_HUB_ENDPOINT修改)。 - temp_file(
BinaryIO): 用来保存下载内容的文件,下载行为将会覆盖此文件。 - proxies(
Dict, 可选): 代理信息。 - headers(
Dict[str, str], 可选):build_om_headers方法构建的请求头,会包含访问令牌信息。 - displayed_filename(
str, 可选):要下载的文件名。 - resume_size(
int或float, 可选): 已下载的文件大小,断点续传专用,单位为KB。 - expected_size(
int, 可选):下载文件的期望大小,单位为KB。 - _nb_retries(
int, 可选):请求失败时自动重试的最大次数,默认为5次。 - kwargs:仅为兼容第三方组件,本身并无作用。
try_to_load_from_cache
查找文件在缓存中的路径,若不存在则返回None,示例如下:
python
from openmind_hub import try_to_load_from_cache
try_to_load_from_cache(
repo_id="PyTorch-NPU/t5_small",
filename="config.json",
cache_dir=None,
revision=None,
repo_type=None,
)
- repo_id(
str):缓存文件所在的仓库名,格式为用户名/仓库名。用户名和仓库名均由字母、数字、点号(.)、下划线(_)或中划线(-)组成。 - filename(
str): 缓存文件的名称。 - cache_dir(
str、Path或None, 可选): 缓存目录,默认为~/.cache/openmind/hub。 - revision(
str, 可选): 缓存文件在仓库的分支,由字母、数字、下划线(_)或中划线(-)组成,默认为“main”。 - repo_type(
str, 可选):仓库类型,包括“model”、“dataset”或“space”,默认为None。若为None时则代表“model”。