mcpField
H
huggingface-best

huggingface-best

github.com/huggingface开发11.2k1.8k 次安装5 天前更新
代码仓库

关于 huggingface-best

huggingface-best 是面向模型选型的技能,会按任务查询 Hugging Face 官方基准榜单,并结合模型规模和设备内存筛选候选模型。它以基准分数比较模型,并可给出本地运行或 HF Jobs 的后续选项。

主要功能

  1. 01查询官方基准榜单
  2. 02按设备内存筛选模型
  3. 03补充参数规模与许可证
  4. 04汇总分数并排序
  5. 05提供运行方式后续建议

适用场景

  1. 01为编码任务寻找模型
  2. 02按显存筛选可运行模型
  3. 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 步:筛选并排名

如果指定了设备:

  1. 移除超过设备 fp16 参数量预算的模型
  2. 标记只有经过 Q4 量化才适配的模型(将预算乘以约 4,以得出 Q4 容量)
  3. 如果排名靠前的模型略微超出预算,则保留该模型,并注明“需要 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
后续问题

呈现表格后,询问用户:“您想运行 [最推荐的模型] 吗?”

如果用户回答是,询问他们更倾向于:


错误处理

  • 未找到排行榜:跳过,并在输出中注明“排行榜不可用”
  • hub_repo_details 中缺少模型:改为从模型名称中解析大小
  • 未找到该任务的基准测试:使用上方整理的备用表格,或尝试使用 hub_repo_search 并传入 filters=["<task>"],按 trendingScore 排序
  • 所有排行榜均失败:改用 hub_repo_search 搜索带有该任务标签的热门模型,并注明结果依据的是受欢迎程度,而非基准测试得分

评论

支持 Markdown