Andyyyy64/whichllm · 上手攻略

  • 仓库:Andyyyy64/whichllm
  • 链接:https://github.com/Andyyyy64/whichllm
  • 分类:ai
  • 作者:Tom
  • 更新:2026-07-09

这是什么

whichllm 是一个本地大模型硬件适配工具,一条命令帮你找出"在你的电脑上真正能跑且表现最好"的本地 LLM。它不是模型本身,而是一个智能选型引擎:读取你机器的 GPU/CPU/RAM 配置,去 HuggingFace 实时拉模型列表和基准测试数据,然后给你一份排名。

核心哲学:参数量不等于性能。一个 27B Q5 量化模型可能比 32B Q2 更快更准;MoE 模型的真实速度取决于激活参数而非总参数。whichllm 把这些都考虑进去了。


解决什么问题

选本地 LLM 时,大多数人面临两个经典困境:

  1. "什么模型能跑?":光看 VRAM 够不够不够——同样 24GB VRAM,Q4 量化 vs FP16 差一倍;MoE 的 30B 模型可能实际只占 10GB;部分 offload 速度又很慢
  2. "能跑的几个里哪个最好?":7B Q4 vs 13B Q2 哪个质量更高?14B 全 GPU 跑 vs 27B 强 offload 哪个更实用?

现有工具要么只告诉你"能不能跑",要么只给你静态排行榜。whichllm 把硬件感知 × 实时基准 × 速度估算三者合一,输出一份真正针对你机器的个性化推荐。


快速安装

方式一:uv(推荐,一次性运行)

uvx whichllm@latest

方式二:uv 全局安装(常用)

uv tool install whichllm
uv tool upgrade whichllm    # 升级

方式三:pip

pip install whichllm
whichllm    # 直接运行

方式四:Homebrew

brew install andyyyy64/whichllm/whichllm

前提依赖

  • Python 3.11+
  • NVIDIA:自动用 nvidia-ml-py 检测(pip 内置)
  • AMD(Linux):ROCm + dbgpu
  • Apple Silicon:Metal
  • CPU-only:自动检测

核心用法与命令

基础推荐(自动检测硬件)

whichllm

输出示例(RTX 4090):

#1  Qwen/Qwen3.6-27B          27.8B  Q5_K_M   score 92.8   ~27 t/s
#2  Qwen/Qwen3-32B            32.0B  Q4_K_M   score 83.0   ~31 t/s
#3  Qwen/Qwen3-30B-A3B        30.0B  Q5_K_M   score 82.7   ~102 t/s

每行显示:排名、模型 ID、参数量、量化格式、综合评分、估算速度。

模拟任意 GPU(买卡前先试)

whichllm --gpu "RTX 4090"
whichllm --gpu "RTX 5090"
whichllm --gpu "RTX 5060 16"         # 指定显存
whichllm --gpu "2x RTX 4090"        # 多卡
whichllm --gpu "Apple M3 Max"
whichllm --gpu "H100"

只看全 GPU 能跑的(不 offload)

whichllm --gpu-only
whichllm --fit gpu
whichllm --fit full-gpu

速度过滤(隐藏太慢的)

whichllm --speed usable    # 隐藏 < 10 tok/s(黄色门槛)
whichllm --speed fast     # 隐藏 < 30 tok/s(绿色门槛)
whichllm --min-speed 4    # 自定义最低 tok/s

VRAM 边距(避免临界爆显存)

whichllm --vram-headroom 1.5GB    # 预留 1.5GB 缓冲
whichllm --ram-budget available   # 考虑可用 RAM

硬件规划:某模型需要什么卡?

whichllm plan "llama 3 70b"
whichllm plan "Qwen2.5-72B" --quant Q8_0
whichllm plan "mistral 7b" --context-length 32768

升级对比:换卡提升多少?

whichllm upgrade "RTX 4090" "RTX 5090" "H100"
whichllm upgrade "Apple M4 Max" --top 5

即时聊天(下载后直接对话)

whichllm run "qwen 2.5 1.5b gguf"    # 指定模型
whichllm run                           # 自动选最佳
whichllm run "phi 3 mini gguf" --cpu-only

输出 Python 代码片段

whichllm snippet "qwen 7b"
# 输出可执行的 llama_cpp 代码

Markdown 格式(粘贴到 GitHub/Slack)

whichllm --markdown
whichllm -m --top 5 --gpu "RTX 4090"

JSON 输出(脚本集成)

whichllm --top 1 --json
# 取模型 ID 供后续脚本使用
whichllm --top 1 --json | jq -r '.models[0].model_id'

强制刷新缓存

whichllm --refresh

查看检测到的硬件信息

whichllm hardware

更多过滤选项

whichllm --top 20              # 显示更多结果
whichllm --profile coding      # 侧重编程 benchmark
whichllm --profile vision      # 侧重视觉 benchmark
whichllm --context-length 64k  # 大上下文场景
whichllm --quant Q4_K_M        # 指定量化格式
whichllm --evidence strict     # 只用直接 benchmark 证据
whichllm --details             # 显示下载量等元数据

典型适用场景

  1. 买 GPU 前做硬件规划:用 --gpu "RTX 5090" 模拟新卡看能跑什么模型、效果如何
  2. 本地开发选型:刚配好一台开发机,跑 whichllm 立刻知道该下哪个模型
  3. 量化方案决策:同样能跑 13B,选 Q4 还是 Q5?参考综合评分和速度估算
  4. Ollama/LM Studio 替代发现:工具内没有想要的模型?用 whichllm --json | jq 取 HuggingFace ID 再手动导入
  5. 笔记本 / 低显存场景:用 --gpu-only + --vram-headroom 找最实用的平衡点

坑与注意

说明
默认包含 offload 候选 如果不想看到"勉强能跑"的模型,加 --gpu-only--fit full-gpu
速度为估算,非实测 速度基于 GPU 带宽 × 量化效率 推算,实际性能受框架、驱动影响,不保证精确
Score 标记含义 ~ = 间接 benchmark;!sr = 纯自报数据;? = 无数据——看到这些标记时需要降权参考
HuggingFace API 限速 高频使用可加 --refresh 强制刷新,默认缓存 6h(models.json)和 24h(benchmark.json)
Apple Silicon 只支持 GGUF 出于稳定性,macOS + CPU-only 模式只推 GGUF 格式
上下文长度影响 VRAM 默认 4K ctx,大上下文(32k+)需要更多 KV Cache VRAM,可用 whichllm plan --context-length 规划
Self-reported benchmark 折扣大 纯上传者自报的 eval 分数会被乘 0.55 折扣,不可靠时显示 !sr

与同类对比

工具 原理 优势 劣势
whichllm 实时 HF 数据 + 多源 benchmark + 硬件建模 个性化排名、速度估算、MoE 感知、开源 CLI 需要 Python 环境,无 GUI
LM Studio 手动选模型 + 本地跑分 GUI 直观、支持搜索 静态,不懂你的硬件
Ollama 本地模型运行 开箱即用 不告诉你该下哪个
HuggingFace 排行榜 公开 Leaderboard 数据全 不是针对你硬件的排名
GPUCheck 类网站 静态 VRAM 表 简单 不含 benchmark,不懂量化

一句话结论

买显卡前、搭机器时、换模型前,跑一条 whichllm 就能得到针对你硬件的真实排名和速度估算——比任何通用排行榜都靠谱,比自己试错省 10 小时。