whichllm - 本地大模型硬件适配推荐工具
Andyyyy64/whichllm
一条命令自动检测硬件配置,从 HuggingFace 实时排序推荐最适合你显卡/内存的本地大模型,基于真实基准测试而非参数量
成熟度:维护活跃,最近提交3天前,21个open issues,快速迭代中
项目体检
技术 · Python 3.11+ + Typer CLI 框架 + Rich 终端渲染 + httpx 异步请求
许可 · MIT 协议,可自由商用无限制
活跃 · 最新版本 v0.5.15 发布于2026年7月,23位贡献者,3天前仍有提交,活跃维护中
解决什么
本地运行大模型时,开发者面临三重困境:哪些模型能塞进显存、哪个量化版本速度够用、同等配置下哪个模型效果最好。传统做法是手算 VRAM 占用或凭经验试错,whichllm 通过自动检测硬件(NVIDIA/AMD/Intel GPU、Apple 统一内存、纯 CPU)并实时拉取 HuggingFace 模型库,结合真实基准测试(LiveBench、Chatbot Arena ELO、Aider 编码评测等)给出排序推荐,一条命令解决"我的 RTX 4060 该跑哪个模型"的选型问题。
为何火
6000+ stars 的核心原因是精准击中本地 LLM 玩家的痛点:不再需要在 Reddit/Discord 翻帖子问"3090 能跑 70B 吗",也不用被"参数越大越好"的误区坑。项目独特之处在于证据驱动排序(合并多个权威 Benchmark 而非自编评分)、时效性感知(旧模型即使分数高也会被降权)、架构级估算(区分 MoE 激活参数与总参数、计算 GQA KV cache 开销),且支持 --gpu "RTX 5090" 模拟未购硬件的运行效果,让显卡升级决策有数据支撑。
核心功能
- 硬件自动识别:检测 NVIDIA/AMD/Intel 独显、Apple Silicon 统一内存、CPU 核心数与 RAM 带宽
- 智能排序推荐:综合 VRAM 适配度、推理速度(tok/s)、基准测试得分(LiveBench/Arena/Aider)三维度排序
- 显卡模拟器:
whichllm --gpu "RTX 4090"或--gpu "2x RTX 4090"模拟多卡/未购硬件 - 一键启动对话:
whichllm run "qwen 2.5 7b"自动下载 GGUF 并启动 llama.cpp 聊天 - 代码片段生成:
whichllm snippet "qwen 7b"输出可复制的 Python 推理代码 - 任务场景过滤:支持
--task coding/vision/math筛选特定用途模型 - 保守模式:
--gpu-only --speed usable --vram-headroom 1GB仅推荐完全装入显存且留余量的模型 - JSON 输出:
--json | jq用于脚本化流程
安装
推荐方式(无需安装):
uvx whichllm@latest # 使用 uv 一次性运行最新版
持久化安装:
pip install whichllm
# 或
brew install andyyyy64/whichllm/whichllm # macOS Homebrew
# 或
uv tool install whichllm # uv 工具链管理
要求 Python 3.11+,依赖 Typer(CLI 框架)、Rich(终端渲染)、httpx(异步 HTTP)、nvidia-ml-py(NVIDIA GPU 监控)。
适合谁
- 本地 LLM 玩家:在消费级显卡(RTX 4060/3090/Apple M3)上跑开源模型,需要快速找到"能跑且好用"的版本
- AI 应用开发者:需在边缘设备/工作站部署推理服务,用
--json输出集成到自动化选型脚本 - 硬件升级决策者:
whichllm upgrade "RTX 4090" "RTX 5090" "H100"对比升级收益,或用whichllm plan "llama 3 70b"反查需要什么显卡 - LM Studio 用户:官方推荐保守时,用
--gpu-only --vram-headroom 1.5GB获得更激进的选项
中文用户注意:工具需访问 HuggingFace API 拉取模型元数据,国内网络可能需梯子;支持离线缓存模式(frozen fallbacks),但首次运行建议联网。
社区评价
暂无足量社区公开讨论(HN 帖仅 3 点赞无评论),以下为基于项目本身的中立评估:从 GitHub 数据看,项目在 5 个月内获得 6000+ stars 且保持活跃(3 天前仍有提交),说明实用性强。README 详尽展示了与 LM Studio 的对比场景(whichllm 更激进但可调保守),技术文档透明披露了排序逻辑(benchmark 置信度分级、MoE 激活参数处理),避免了"黑盒推荐"的信任问题。23 位贡献者和持续的版本迭代(v0.5.15)显示社区参与度健康,但 21 个 open issues 提示仍有待完善的边缘场景。
选型对比
vs LM Studio(商业 GUI 工具):
- LM Studio 提供图形界面和一键下载,whichllm 是纯命令行但可脚本化(
--json) - LM Studio 推荐偏保守(留足 VRAM 余量),whichllm 默认激进(含部分 offload 方案),但可通过
--gpu-only --vram-headroom对齐保守策略 - whichllm 的排序基于实时 Benchmark 数据,LM Studio 更依赖社区人工整理的兼容性列表
vs Ollama(本地模型运行时):
- Ollama 侧重"一键运行已知模型",whichllm 侧重"先帮你选对模型"
- 两者可互补:
whichllm推荐 → 复制模型名 →ollama run <model>
vs 手动查 HuggingFace Leaderboard:
- 人工查榜单只能看单一 Benchmark,whichllm 合并 5+ 权威评测并按硬件过滤
- 榜单不考虑硬件适配,whichllm 的 VRAM/速度估算避免"下载后才发现跑不动"
已知坑
- HuggingFace API 依赖:国内网络可能超时,虽有离线缓存但首次运行需联网;可设置
HF_ENDPOINT环境变量指向镜像站 - 速度估算为近似值:README 明确标注
~表示估算、?表示低置信度,实际 tok/s 受驱动版本/后端实现(llama.cpp/vLLM)影响 - MoE 模型的"虚高"参数:工具已处理(按激活参数算速度、总参数算质量),但用户需理解
Qwen3-30B-A3B的 30B 不等于密集模型的 30B - Apple Silicon 的统一内存:需手动
--vram <GB> --ram-bandwidth <GB/s>覆盖检测值,因系统 API 返回的可用内存可能不准 - 21 个 open issues:包括部分 AMD GPU 识别问题、某些量化格式(如 EXL2)的支持请求,非关键路径但可能影响小众硬件用户
安装方式:pip/uvx