完整的 Hugging Face Hub 技能——通过 CLI 和 Python API 下载模型/数据集、上传文件、管理仓库和 Spaces、搜索 Hub 以及处理...
拥抱面技能
功能概述
拥抱面技能是一项面向实际任务的技能,主要用于这种技能将全拥抱面枢纽表面—— 拥抱面- cli命令行工具以及拥抱面 hub Python 库—— 暴露给每个助手交互。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
Hugging Face 技能
该技能全面暴露 Hugging Face Hub 的能力 —— 同时支持 huggingface-cli 命令行工具和 huggingface_hub Python 库 —— 供每次助手交互调用。它从环境变量中读取 HF_TOKEN 以执行需认证的操作;公共只读操作无需 token 即可运行。
Token 权限范围:
HF_TOKEN仅在下载私有/受控模型、执行任意上传、创建/删除仓库,以及管理 Space 时必需。所有公开模型/数据集的浏览与下载均无需 token。
安全须知
- 请将
HF_TOKEN设置于 Shell 环境或.env文件中 —— 切勿在脚本中硬编码。 - 尽可能使用细粒度 token(如只读权限或限定于特定仓库),而非全写权限 token。可在 https://huggingface.co/settings/tokens 创建。
- 受控模型(如 Llama、Gemma 等)不仅需要有效 token,还需在 Hub 网页界面中接受对应模型条款。
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
认证
登录(token 将写入 ~/.cache/huggingface/token)
huggingface-cli login # 或非交互式登录: huggingface-cli login --token $HF_TOKEN
登出
huggingface-cli logout
查看当前身份
huggingface-cli whoami
环境变量方式(CI/脚本场景首选)
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
下载指定版本(分支、标签或提交 SHA)
huggingface-cli download--revision v1.0 huggingface-cli download --revision abc1234
按通配符模式下载特定文件
huggingface-cli download--include "*.safetensors" huggingface-cli download --exclude "*.bin" --include "*.safetensors"
下载受控模型(需 token + 已接受条款)
HF_TOKEN=hf_... huggingface-cli download meta-llama/Llama-3-8B
上传至 Hub
上传单个文件
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
上传至 Space
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
标签(Tags)
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
Python API — 快速使用模式
完整可复制粘贴代码见 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 的历史别名 |
最佳实践
1. 生产环境中优先使用 --local-dir,避免依赖默认缓存路径以确保可复现性
默认缓存采用内容寻址符号链接。当应用需稳定、自包含的模型目录时,请使用 --local-dir ./models/name。
2. 生产环境下载务必固定版本(revision)
始终在生产环境中通过 --revision 显式指定版本。类似 main 的分支是可变的,可能在两次运行之间静默更新。
3. 使用 --include/--exclude 跳过无关权重文件
大型模型通常同时提供 .bin 和 .safetensors 格式。仅下载当前框架所需格式:
huggingface-cli download--include "*.safetensors" --exclude "*.bin"
4. 离线前预先填充缓存
huggingface-cli download# 填充本地缓存 export HF_HUB_OFFLINE=1 # 后续加载将仅使用缓存
5. 使用最小权限的细粒度 token
请在 https://huggingface.co/settings/tokens 为各项目单独创建 token —— 只读 token 不可能误删或覆盖仓库。
6. 权重上传时同步提交模型卡片(Model Card)
每次上传即一次 Git 提交。请在上传目录中包含 README.md(即模型卡片),确保仓库在 Hub 上立即具备可浏览性。
7. 对超过 ~50 GB 的模型使用 upload-large-folder
upload-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 |
热门AI工具
相关专题
本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。
0
2026.10.22
本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。
0
2026.10.22
本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。
0
2026.10.22
本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。
0
2026.10.22
本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。
0
2026.10.22
本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。
0
2026.10.22
本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。
0
2026.10.22
PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。
0
2026.10.22
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.4万人学习
共6课时 | 54.7万人学习
最新文章
