HuggingFace 模型下载器
HuggingFace 模型下载器是一个用于从 HuggingFace 网站下载模型和数据集的实用工具。它为 LFS 文件提供多线程下载功能,并通过 SHA256 校验和验证确保下载模型的完整性。
原因
对我来说,Git LFS 速度较慢,而且我找不到一个用于简单模型下载的单一二进制文件。这个工具也可能在未来的项目中集成,用于使用 Go/Python 组合进行推理。
一行安装程序(Linux/Mac/Windows WSL2)
该脚本会根据您的操作系统/架构下载正确的版本,并将二进制文件保存为当前文件夹中的 "hfdownloader"。
bash <(curl -sSL https://g.bodaay.io/hfd) -h
要安装到默认的操作系统 bin 文件夹:
bash <(curl -sSL https://g.bodaay.io/hfd) -i
如果需要,它会自动请求更高的 'sudo' 权限。您可以使用 -p
指定安装目标。
bash <(curl -sSL https://g.bodaay.io/hfd) -i -p ~/.local/bin/
快速下载和运行示例(Linux/Mac/Windows WSL2)
bash 脚本只是根据您的操作系统/架构下载二进制文件并运行它。
下载模型:TheBloke/orca_mini_7B-GPTQ
bash <(curl -sSL https://g.bodaay.io/hfd) -m TheBloke/orca_mini_7B-GPTQ
下载模型:TheBloke/vicuna-13b-v1.3.0-GGML 并获取 GGML 变体:q4_0
bash <(curl -sSL https://g.bodaay.io/hfd) -m TheBloke/vicuna-13b-v1.3.0-GGML:q4_0
下载模型:TheBloke/vicuna-13b-v1.3.0-GGML 并获取 GGML 变体:q4_0,q5_0(分开文件夹)
bash <(curl -sSL https://g.bodaay.io/hfd) -f -m TheBloke/vicuna-13b-v1.3.0-GGML:q4_0,q5_0
使用 8 个连接下载模型并保存到 /workspace/
bash <(curl -sSL https://g.bodaay.io/hfd) -m TheBloke/vicuna-13b-v1.3.0-GGML:q4_0,q4_K_S -c 8 -s /workspace/
将模型下载到当前目录
bash <(curl -sSL https://g.bodaay.io/hfd) -j TheBloke/vicuna-13b-v1.3.0-GGML:q4_0
使用方法
hfdownloader [flags]
标志
-m, --model string
:模型/数据集名称(如果未设置数据集则必填)。您可以为所需的 LFS 模型文件提供过滤器。过滤器将丢弃任何缺少所提供过滤器的以 .bin、.act、.safetensors、.zip 结尾的 LFS 文件。-d, --dataset string
:数据集名称(如果未设置模型则必填)。-f, --appendFilterFolder bool
:将过滤器名称附加到文件夹,仅用于 GGML 量化过滤下载(可选)。-k, --skipSHA bool
:跳过 LFS 文件的 SHA256 检查,在尝试恢复中断的下载并快速完成缺失文件时很有用(可选)。-b, --branch string
:模型/数据集分支(可选,默认为 "main")。-s, --storage string
:存储路径(可选,默认为 "Storage")。-c, --concurrent int
:LFS 并发连接数(可选,默认为 5)。-t, --token string
:HuggingFace 访问令牌,可以通过环境变量 'HUGGING_FACE_HUB_TOKEN' 或 .env 文件提供(可选)。-i, --install bool
:将二进制文件安装到操作系统默认 bin 文件夹,仅适用于类 Unix 操作系统。-p, --installPath string
:指定安装路径,与-i
一起使用(可选)。-j, --justDownload bool
:仅将模型下载到当前目录,并假设第一个参数是模型名称。-q, --silentMode bool
:禁用进度条打印。-h, --help
:hfdownloader 的帮助信息。
示例
模型示例
hfdownloader -m TheBloke/WizardLM-13B-V1.0-Uncensored-GPTQ -c 10 -s MyModels
数据集示例
hfdownloader -d facebook/flores -c 10 -s MyDatasets
特性
- 模型的嵌套文件下载
- 大文件(LFS)的多线程下载
- 针对特定 LFS 模型文件的过滤下载(适用于 GGML/GGUFs)
- 可作为库或单一二进制文件使用的简单实用程序
- 下载模型的 SHA256 校验和验证
- 跳过先前下载的文件
- 恢复中断下载的进度
- 非 LFS 文件的简单文件大小匹配
- 支持受限模型/数据集的 HuggingFace 访问令牌
- 配置文件支持:您现在可以在
~/.config/hfdownloader.json
创建一个配置文件,为所有命令标志设置默认值。 - 生成配置文件:新命令
hfdownloader generate-config
在上述路径生成一个包含默认值的示例配置文件。 - 如果存储路径中已存在模型/数据集,且有新文件或版本可用,现有下载将会更新。