完整的 Hugging Face Hub 技能——通过 CLI 和 Python API 下载模型/数据集、上传文件、管理仓库和 Spaces、搜索 Hub 以及处理...
拥抱面技能是一项面向实际任务的技能,主要用于这种技能将全拥抱面枢纽表面—— 拥抱面- cli命令行工具以及拥抱面 hub Python 库—— 暴露给每个助手交互。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
该技能全面暴露 Hugging Face Hub 的能力 —— 同时支持 huggingface-cli 命令行工具和 huggingface_hub Python 库 —— 供每次助手交互调用。它从环境变量中读取 HF_TOKEN 以执行需认证的操作;公共只读操作无需 token 即可运行。
Token 权限范围:
HF_TOKEN仅在下载私有/受控模型、执行任意上传、创建/删除仓库,以及管理 Space 时必需。所有公开模型/数据集的浏览与下载均无需 token。
HF_TOKEN 设置于 Shell 环境或 .env 文件中 —— 切勿在脚本中硬编码。HF_HUB_OFFLINE=1 将禁用全部网络请求 —— 适用于已预填充缓存的离线环境或 CI 场景,安全可靠。pip install huggingface_hub
pip install "huggingface_hub[cli,torch,tensorflow,fastai,dev]"
| 扩展项 | 功能说明 |
|---|---|
cli |
提供 huggingface-cli 命令 |
hf_transfer |
基于 Rust 的高速多段下载器(pip install hf_transfer) |
torch |
PyTorch 模型辅助工具 |
tensorflow |
TensorFlow 模型辅助工具 |
fastai |
fastai 辅助工具 |
pip install hf_transfer export HF_HUB_ENABLE_HF_TRANSFER=1
huggingface-cli version huggingface-cli whoami # 需要设置 HF_TOKEN
huggingface-cli login # 或非交互式登录: huggingface-cli login --token $HF_TOKEN
huggingface-cli logout
huggingface-cli whoami
export HF_TOKEN=hf_...
库会自动读取 HF_TOKEN —— 当该环境变量已设置时,无需显式执行 login。
huggingface-cli download# 示例: huggingface-cli download google/gemma-2b
huggingface-cli downloadhuggingface-cli download openai/whisper-large-v3 config.json
huggingface-cli download--local-dir ./models/mymodel
huggingface-cli download--repo-type dataset
huggingface-cli download--revision v1.0 huggingface-cli download --revision abc1234
huggingface-cli download--include "*.safetensors" huggingface-cli download --exclude "*.bin" --include "*.safetensors"
HF_TOKEN=hf_... huggingface-cli download meta-llama/Llama-3-8B
huggingface-cli uploadhuggingface-cli upload myorg/mymodel weights.safetensors model/weights.safetensors
huggingface-cli uploadhuggingface-cli upload myorg/mymodel ./model_dir .
huggingface-cli upload myorg/mydataset ./data . --repo-type dataset
huggingface-cli upload myorg/myspace ./app . --repo-type space
huggingface-cli upload myorg/mymodel ./weights . --commit-message "Add fp16 weights"
huggingface-cli upload-large-folder myorg/mymodel --repo-type model ./large_model_dir
huggingface-cli repo createhuggingface-cli repo create my-model --type model huggingface-cli repo create my-dataset --type dataset huggingface-cli repo create my-space --type space
huggingface-cli repo delete
huggingface-cli repo infohuggingface-cli repo info google/gemma-2b
huggingface-cli tag create--message "Release v1.0" huggingface-cli tag list huggingface-cli tag delete
huggingface-cli scan-cache
huggingface-cli delete-cache
huggingface-cli scan-cache --verbose
完整可复制粘贴代码见 templates/python_patterns.txt。核心入口如下:
import os
from huggingface_hub import HfApi
api = HfApi(token=os.environ.get("HF_TOKEN"))
可将 scripts/hf_helper.py 作为 Python API 的 CLI 封装,在不依赖浏览器的前提下完成搜索、信息查询及缓存操作。
| 变量名 | 默认值 | 说明 |
|---|---|---|
HF_TOKEN |
— | 访问令牌;私有/受控/写入类操作必需 |
HF_HOME |
~/.cache/huggingface |
根缓存目录 |
HF_HUB_CACHE |
$HF_HOME/hub |
模型/数据集缓存路径 |
HF_DATASETS_CACHE |
$HF_HOME/datasets |
datasets 库专用缓存路径 |
HF_HUB_OFFLINE |
0 |
设为 1 可禁用全部网络请求 |
HF_HUB_ENABLE_HF_TRANSFER |
0 |
设为 1 启用基于 Rust 的高速下载器 |
HF_ENDPOINT |
https://huggingface.co |
企业部署或镜像站覆盖地址 |
HF_HUB_DISABLE_PROGRESS_BARS |
0 |
设为 1 可隐藏 tqdm 进度条(适合 CI 日志) |
HF_HUB_VERBOSITY |
warning |
日志级别:debug、info、warning、error |
HUGGINGFACE_HUB_VERBOSITY |
— | HF_HUB_VERBOSITY 的历史别名 |
--local-dir,避免依赖默认缓存路径以确保可复现性默认缓存采用内容寻址符号链接。当应用需稳定、自包含的模型目录时,请使用 --local-dir ./models/name。
始终在生产环境中通过 --revision 显式指定版本。类似 main 的分支是可变的,可能在两次运行之间静默更新。
--include/--exclude 跳过无关权重文件大型模型通常同时提供 .bin 和 .safetensors 格式。仅下载当前框架所需格式:
huggingface-cli download--include "*.safetensors" --exclude "*.bin"
huggingface-cli download# 填充本地缓存 export HF_HUB_OFFLINE=1 # 后续加载将仅使用缓存
请在 https://huggingface.co/settings/tokens 为各项目单独创建 token —— 只读 token 不可能误删或覆盖仓库。
每次上传即一次 Git 提交。请在上传目录中包含 README.md(即模型卡片),确保仓库在 Hub 上立即具备可浏览性。
upload-large-folderupload-large-folder 采用多段上传机制,支持自动重试与去重 —— 相比普通 upload,对超大检查点(checkpoints)更可靠。
| 现象 | 解决方法 |
|---|---|
401 Unauthorized |
设置 HF_TOKEN 或运行 huggingface-cli login |
403 Forbidden(受控模型) |
前往 huggingface.co 接受模型条款后重试 |
huggingface-cli: command not found |
pip install "huggingface_hub[cli]" 并确认 pip 的 bin 目录已加入 PATH |
| 下载缓慢 | pip install hf_transfer 并设置 HF_HUB_ENABLE_HF_TRANSFER=1 |
OSError: [Errno 28] No space left |
运行 huggingface-cli delete-cache 清理缓存空间 |
| 下载从中断处恢复时偏移错误 | 改用 --local-dir —— 默认缓存中可能存在陈旧的不完整分块 |
RepositoryNotFoundError |
检查仓库名称拼写是否正确,并确认 token 具备访问权限 |
RevisionNotFoundError |
确认目标分支/标签/SHA 是否真实存在于 Hub 上 |
EntryNotFoundError |
该文件不在当前 revision 中;请使用 huggingface-cli repo info 核查 |
| 企业内网(防火墙后) | 设置 HF_ENDPOINT=https://your-mirror.internal |
相关专题
热门下载
相关下载
精品课程
共6课时 | 54.7万人学习
共89课时 | 133.9万人学习
共49课时 | 82.5万人学习
最新文章