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 时,大多数人面临两个经典困境:
- "什么模型能跑?":光看 VRAM 够不够不够——同样 24GB VRAM,Q4 量化 vs FP16 差一倍;MoE 的 30B 模型可能实际只占 10GB;部分 offload 速度又很慢
- "能跑的几个里哪个最好?":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 # 显示下载量等元数据
典型适用场景
- 买 GPU 前做硬件规划:用
--gpu "RTX 5090"模拟新卡看能跑什么模型、效果如何 - 本地开发选型:刚配好一台开发机,跑
whichllm立刻知道该下哪个模型 - 量化方案决策:同样能跑 13B,选 Q4 还是 Q5?参考综合评分和速度估算
- Ollama/LM Studio 替代发现:工具内没有想要的模型?用
whichllm --json | jq取 HuggingFace ID 再手动导入 - 笔记本 / 低显存场景:用
--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 小时。