huggingface

Polar Sponsor
爱发电 赞助
.NET 9.0

完整的 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 download  
huggingface-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 upload   
huggingface-cli upload myorg/mymodel weights.safetensors model/weights.safetensors

上传整个文件夹

huggingface-cli upload   
huggingface-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 create 
huggingface-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 info 
huggingface-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

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

0

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

0

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.9万人学习