关于 huggingface-best
huggingface-best 是面向模型选型的技能,会按任务查询 Hugging Face 官方基准榜单,并结合模型规模和设备内存筛选候选模型。它以基准分数比较模型,并可给出本地运行或 HF Jobs 的后续选项。
主要功能
- 01查询官方基准榜单
- 02按设备内存筛选模型
- 03补充参数规模与许可证
- 04汇总分数并排序
- 05提供运行方式后续建议
适用场景
- 01为编码任务寻找模型
- 02按显存筛选可运行模型
- 03比较多个任务基准成绩
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ huggingface/ skills --skill huggingface-best安装后在 Claude Code 中输入/huggingface-best确认已加载。
详细介绍
HuggingFace 最佳模型查找器
通过查询 HF 官方基准排行榜,查找适合某项任务的最佳模型,并结合模型大小数据筛选出适合用户设备的模型,最后返回包含基准分数的对比表。
第 1 步:解析请求
从用户的消息中提取:
- 任务:他们希望模型执行的任务(编码、数学/推理、聊天、OCR、RAG/检索、语音识别、图像分类、多模态、Agent 等)
- 设备:硬件限制(MacBook M 系列 8/16/32/64GB 统一内存、具有一定 VRAM 容量的 RTX GPU、仅 CPU、云端/无设备限制等)
如果用户没有提到设备,则完全跳过筛选,直接返回性能最高的模型,不考虑大小。如果任务确实含糊不清,则提出一个澄清问题。
设备 → 最大参数量预算
指定设备时,提取其可用内存(Apple Silicon 的统一 RAM,独立 GPU 的 VRAM),并应用以下规则:
- fp16 最大参数量(B) ≈ 内存(GB)÷ 2
- Q4 最大参数量(B) ≈ 内存(GB)× 2
示例:16GB → 8B fp16/32B Q4 — 24GB VRAM → 12B fp16/48B Q4 — 8GB → 4B fp16/16B Q4
第 2 步:查找相关基准数据集
获取完整的 HF 官方基准列表:
curl -s -H "Authorization: Bearer $(cat ~/.cache/huggingface/token)" \
"https://huggingface.co/api/datasets?filter=benchmark:official&limit=500" | jq '[.[] | {id, tags, description}]'
阅读返回的列表,并根据与用户任务的相关性选择数据集——匹配数据集 ID、标签和描述。请自行判断,不要局限于 2-3 个。尽可能全面:如果有 5 个基准能清晰地覆盖该任务,就全部使用。
第 3 步:从排行榜获取顶尖模型
对每个选定的基准数据集:
curl -s -H "Authorization: Bearer $(cat ~/.cache/huggingface/token)" \
"https://huggingface.co/api/datasets/<namespace>/<repo>/leaderboard" | jq '[.[:15] | .[] | {rank, modelId, value, verified}]'
收集所有基准中的模型 ID 和分数。如果排行榜返回错误(404、401 等),则跳过该排行榜,并在输出中注明。
第 4 步:补充模型元数据
获取排名前 10-15 个候选模型 ID 的模型信息。
# REST API
curl -s -H "Authorization: Bearer $(cat ~/.cache/huggingface/token)" \
"https://huggingface.co/api/models/org/model1" | jq '{safetensors, tags, cardData}'
# CLI (hf-cli)
hf models info org/model1 --json | jq '{safetensors, tags, cardData}'
从每个响应中提取:
- 参数量:
safetensors.total→ 转换为 B(例如,7_241_748_480 → "7.2B") - 许可证:从模型卡标签获取(查找
license:apache-2.0、license:mit等) - 如果没有
safetensors,则从模型名称中解析大小(查找 "7b"、"8b"、"13b"、"70b"、"72b" 等)
第 5 步:筛选并排名
如果指定了设备:
- 移除超过设备 fp16 参数量预算的模型
- 标记只有经过 Q4 量化才适配的模型(将预算乘以约 4,以得出 Q4 容量)
- 如果排名靠前的模型略微超出预算,则保留该模型,并注明“需要 Q4”——不要悄悄将其移除
**如果未提到设备:**跳过所有大小筛选,仅按基准分数排名。
然后:按基准分数降序排名,保留前 5-8 个模型。
如果排行榜中出现专有模型(GPT-4、Claude、Gemini),也要纳入,但标记为“仅限 API/不可自托管”。如果用户明确要求仅提供本地/开源模型,则将其排除。
第 6 步:输出
对比表
| # | Model | Params | [Benchmark 1] | [Benchmark 2] | License | On device |
|---|-------|--------|--------------|--------------|---------|-----------|
| ⭐1 | [org/name](https://huggingface.co/org/name) | 7B | 85.2% | — | Apache 2.0 | Yes (fp16) |
| 2 | [org/name](https://huggingface.co/org/name) | 13B | 83.1% | 71.5% | MIT | Q4 only |
| 3 | [org/name](https://huggingface.co/org/name) | 70B | 90.0% | 81.0% | Llama | Too large |
- 将模型名称链接到
https://huggingface.co/<model_id> - 对模型未参加评测的基准,使用
— - 用 ⭐ 标出最推荐的模型
- “设备上运行”一栏使用以下值:
Yes (fp16)、Q4 only、Too large、API only
后续问题
呈现表格后,询问用户:“您想运行 [最推荐的模型] 吗?”
如果用户回答是,询问他们更倾向于:
- 本地运行——如果尚未了解其设备情况,则询问设备,然后提供合适的设置说明
- 在 HF Jobs 上运行——向他们提供 HF Jobs 指南:https://huggingface.co/docs/huggingface_hub/en/guides/jobs
错误处理
- 未找到排行榜:跳过,并在输出中注明“排行榜不可用”
- hub_repo_details 中缺少模型:改为从模型名称中解析大小
- 未找到该任务的基准测试:使用上方整理的备用表格,或尝试使用
hub_repo_search并传入filters=["<task>"],按trendingScore排序 - 所有排行榜均失败:改用
hub_repo_search搜索带有该任务标签的热门模型,并注明结果依据的是受欢迎程度,而非基准测试得分