bodaay/HuggingFaceModelDownloader
Simple go utility to download HuggingFace Models and Datasets
🤖 HuggingFace 模型下载器 (hfdownloader)
它是什么 – 一个快速、并行且支持代理的命令行工具(用 Go 编写),用于从 HuggingFace Hub 拉取模型、数据集、LoRA、Diffusers 流水线等。它将文件存储在标准 HF 缓存中,因此现有的 Python 库(transformers、diffusers、llama.cpp 绑定等)可以自动找到它们,同时通过符号链接/硬链接提供人类可读的视图。
为什么你可能关心 – 大型模型文件可能达到数十 GB。hfdownloader:
- 将每个文件拆分为最多 16 个并行连接,并且可以同时下载 8 个文件,大幅减少实际耗时。
- 中断后自动恢复,并使用 SHA-256 验证 LFS 文件。
- 提供交互式 GGUF 选择器,显示质量星级、RAM 估算和“推荐”量化,方便选择量化模型的正确版本。
- 在企业防火墙后工作,支持完整的 HTTP/SOCKS5 代理、身份验证和 CIDR 绕过规则。
- 提供 Web UI(实时进度、缓存浏览器、镜像同步、设置),适合喜欢图形界面的用户。
- 包含镜像同步功能,可将本地缓存推送到 NAS、USB 驱动器或其他机器,或从中拉取——适用于隔离或团队环境。
如何获取
- 一行安装(无需 sudo):
bash <(curl -sSL https://g.bodaay.io/hfd) install - 适用于 Linux、macOS 和 Windows 的预构建二进制文件位于 GitHub Releases 页面。
- 使用 Go 1.25+ 从源码构建:
go build -o hfdownloader ./cmd/hfdownloader - Docker 镜像
ghcr.io/bodaay/huggingfacemodeldownloader(挂载你的~/.cache/huggingface以保留缓存)。
典型命令行工作流
# 查看仓库内容(交互式 GGUF 选择器)
hfdownloader analyze -i TheBloke/Mistral-7B-Instruct-v0.2-GGUF
# 下载特定量化(或多个)
hfdownloader download TheBloke/Mistral-7B-Instruct-v0.2-GGUF:q4_k_m
# 或使用最大并行度下载所有内容
hfdownloader download TheBloke/Mistral-7B-Instruct-v0.2-GGUF -c 16 --max-active 8
# 将已缓存文件导出为普通目录(用于 llama.cpp、Ollama 等)
hfdownloader export TheBloke/Mistral-7B-Instruct-v0.2-GGUF ~/models/mistral
# 启动 Web UI (http://localhost:8080)
hfdownloader serve
关键概念
- 存储模式 1 – HF 缓存(默认) – 文件位于
~/.cache/huggingface/hub/...(内容寻址的 blob)以及~/.cache/huggingface/models/下的人类可读符号链接树。Python 工具开箱即用。 - 存储模式 2 – 平面目录 – 使用
--local-dir <path>或旧版-o <dir>获取包含真实文件的普通<owner>/<repo>/文件夹,适用于不理解 HF 缓存布局的工具。 - 清单(
hfd.yaml) – 每次下载都会写入一个小的 YAML 文件,描述仓库、提交、所选文件、大小以及使用的确切命令。hfdownloader list和hfdownloader info可查询此元数据。 - 代理配置 – 可以通过每个命令传递(
--proxy ...)或存储在~/.config/hfdownloader.yaml中。 - 镜像同步 – 定义命名目标(
hfdownloader mirror target add office /mnt/nas/hf-models),然后push、pull或diff以保持缓存同步。
谁应该使用
- 定期拉取大型 GGUF、GPTQ 或 Diffusers 模型的研究人员或工程师。
- 需要强大代理处理的企业网络中的团队。
- 希望享受 HF 缓存便利而不处理符号链接问题的 Windows 或 macOS 用户。
- 喜欢使用 Web 仪表板监控下载和管理共享模型缓存的任何人。
许可证 – Apache 2.0(个人和商业使用免费)。
快速链接
相关
- Dispatch
- 项目
- Dispatch
- 项目
- Dispatch