中文
本页内容

下载接口

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(strPathNone, 可选):缓存保存在本地的路径,默认为~/.cache/openmind/hub
  • local_dir(strPathNone, 可选):文件下载到本地的路径,默认只在缓存中创建.symlink文件。
  • local_dir_use_symlinks("auto"bool, 可选):与local_dir参数一起使用。若为"auto",则会由文件大小决定是否创建.symlink文件;如果为True,则会为所有文件创建.symlink文件;如果为False,则不会为任何文件创建.symlink文件。默认为"auto"
  • user_agent(DictstrNone, 可选):用户代理信息。
  • 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(strPathNone, 可选):缓存保存在本地的路径,默认为~/.cache/openmind/hub
  • local_dir(strPathNone, 可选):文件下载到本地的路径,默认只在缓存中创建.symlink文件。
  • local_dir_use_symlinks("auto"bool, 可选):与local_dir参数一起使用。若为"auto",则会由文件大小决定是否创建.symlink文件;如果为True,则会为所有文件创建.symlink文件;如果为False,则不会为任何文件创建.symlink文件。默认为"auto"
  • library_name(str, 可选): 发起对外请求的库的名称。
  • library_version(str, 可选): 发起对外请求的库的版本。
  • user_agent(strDict, 可选): 发起对外请求的用户信息。
  • 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(intfloat, 可选):对外请求的超时时间,单位为秒,默认为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(intfloat可选): 已下载的文件大小,断点续传专用,单位为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(strPathNone, 可选): 缓存目录,默认为~/.cache/openmind/hub
  • revision(str, 可选): 缓存文件在仓库的分支,由字母、数字、下划线(_)或中划线(-)组成,默认为“main”。
  • repo_type(str, 可选):仓库类型,包括“model”、“dataset”或“space”,默认为None。若为None时则代表“model”。