whichllm 是一个 Python 工具,能自动检测你的 GPU/CPU/RAM,并从 HuggingFace 上实时获取模型数据,根据基准测试成绩、显存占用和推理速度,智能排序出最适合你硬件的本地大语言模型。它不只是看模型大小是否装得下,而是综合评估模型质量,避免“能跑但不好用”的推荐。支持一键运行聊天、生成代码片段、模拟不同 GPU 等高级功能。
核心要点
- 自动检测硬件(NVIDIA/AMD/Apple Silicon/CPU-only),实时从 HuggingFace 获取模型数据
- 基于多个权威基准(LiveBench、Artificial Analysis、Aider、Chatbot Arena ELO 等)进行证据加权排序,而非仅看模型大小
- 支持时间衰减:旧模型(如2024年)不会因过时分数而排在新模型前面
- 显存估算考虑权重、GQA KV缓存、激活内存和开销;速度估算考虑带宽、量化效率、MoE活跃参数等
- 提供一键运行(whichllm run)、代码片段生成(whichllm snippet)、GPU模拟(--gpu)、硬件规划(plan)和JSON输出(--json)等功能
正文
whichllm 是一个 Python 工具,能自动检测你的 GPU/CPU/RAM,并从 HuggingFace 上实时获取模型数据,根据基准测试成绩、显存占用和推理速度,智能排序出最适合你硬件的本地大语言模型。
核心功能
- 自动检测硬件:支持 NVIDIA、AMD、Apple Silicon 和纯 CPU 环境。
- 智能排序:综合考虑显存占用、推理速度和基准测试质量,给出排名。
- 一键运行:
whichllm run自动下载模型并启动交互式聊天会话。 - 代码片段:
whichllm snippet为任何模型生成可直接运行的 Python 代码。 - 实时数据:直接从 HuggingFace API 获取模型数据(带缓存优化性能)。
- 基准感知:集成真实评估分数,并基于置信度进行衰减。
- 任务筛选:可按通用、编程、视觉或数学用例过滤。
- GPU 模拟:
whichllm --gpu "RTX 4090"模拟任意 GPU 的推荐结果。 - 硬件规划:
whichllm plan "llama 3 70b"反向查询所需硬件。 - 升级规划:对比当前机器与候选 GPU 的推荐差异。
- JSON 输出:
whichllm --json方便管道处理。
为什么选择 whichllm?
将模型装入显存只是第一步,更难的是知道哪个能装下的模型实际上最好。whichllm 正是为此而生:
- 基于证据的排序,而非大小启发式:排名基于合并的真实基准(LiveBench、Artificial Analysis、Aider、多模态/视觉、Chatbot Arena ELO、Open LLM Leaderboard),绝不会推荐“刚好能装下但质量差”的大模型。
- 时间感知:旧排行榜分数会沿模型谱系衰减,2024年的模型不会因过时分数而排在新模型前面。基准快照日期会打印在每次排名下方,让过时推荐一目了然。
- 证据分级与防护:每个分数都标记为
direct/variant/base/interpolated/self-reported,并按置信度打折。虚假的上传者声明和跨家族继承(小模型借用大模型分数)会被主动拒绝。 - 架构感知估算:显存 = 权重 + GQA KV缓存 + 激活内存 + 开销;速度 = 带宽受限,考虑每量化效率、每后端因子、MoE活跃/总参数拆分、统一内存 vs 离散PCIe部分卸载建模。
- 单命令,可脚本化:
whichllm直接输出答案;加--json | jq用于管道。无 TUI,无需记忆快捷键。 - 实时数据:直接从 HuggingFace API 获取模型,同时提供精选的冻结回退数据用于离线或限速场景。
示例输出
$ whichllm --gpu "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
32B 模型完全能装进你的显卡,但 whichllm 仍将 27B 排在第一,因为它在真实基准上得分更高且是新一代模型。仅看大小的工具会推荐更大的那个,这正是 whichllm 的价值所在。(注意 #3:MoE 模型 102 t/s——速度按活跃参数排名,质量按总参数排名。)
我能跑什么?
| 硬件 | 显存 | 最佳推荐 | 速度 |
|---|---|---|---|
| RTX 5090 | 32 GB | Qwen3.6-27B · Q6_K · score 94.7 |
~40 t/s |
| RTX 4090 / 3090 | 24 GB | Qwen3.6-27B · Q5_K_M · score 92.8 |
~27 t/s |
| RTX 4060 | 8 GB | Qwen3-14B · Q3_K_M · score 71.0 |
~22 t/s |
| Apple M3 Max | 36 GB | Qwen3.6-27B · Q5_K_M · score 89.4 |
~9 t/s |
| CPU only | — | gpt-oss-20b (MoE) · Q4_K_M · score 45.2 |
~6 t/s |
whichllm --gpu "<你的显卡>" 可在购买前模拟任意配置。
一键运行与代码片段
尝试任何模型只需一条命令。 无需手动安装——whichllm 通过 uv 创建隔离环境,安装依赖,下载模型,并启动交互式聊天。
关联概念
- HuggingFace
- 本地大语言模型
- GPU显存估算
- 模型量化
- MoE(混合专家模型)
可操作项
- 安装:
pip install whichllm(需要 Python 3.11+) - 运行:
whichllm自动检测硬件并推荐模型 - 模拟:
whichllm --gpu "RTX 4090"查看特定显卡的推荐 - 一键聊天:
whichllm run自动下载并启动交互式会话 - 生成代码:
whichllm snippet获取模型的 Python 代码片段 - 硬件规划:
whichllm plan "llama 3 70b"查看运行该模型所需硬件 - JSON 输出:
whichllm --json用于管道处理
原文: Andyyyy64/whichllm
自动加工于 2026-05-21 01:50