為什麼你需要 WhichLLM?
本地運行大語言模型(LLM)已經成為開發者的新常態。無論是用 Ollama 跑 Qwen、用 llama.cpp 調 GGUF,還是用 LM Studio 載入模型,開發者面臨一個共同的難題:
我的硬體能跑什麼模型?哪個模型在我的裝置上效能最好?
HuggingFace 上有數十萬個模型,規格從 1.5B 到 72B 不等,量化方式有 Q4_K_M、Q5_K_M、Q8_0……盲目下載一個 70B 模型,等半天才發現 VRAM 不夠,白白浪費時間。
WhichLLM 就是為解決這個痛點而生。它能自動偵測你的硬體配置,對比真實基準測試資料(而非參數數量),在一秒內給出最適合你硬體的模型推薦。
核心特性一覽
| 特性 | 說明 |
|---|---|
| 自動偵測 | 自動識別 NVIDIA/AMD/Apple Silicon/CPU 配置 |
| 智慧排名 | 基於真實基準(LiveBench、Aider、Open LLM Leaderboard 等),非參數堆砌 |
| 時效感知 | 舊模型不會因為歷史成績好而排在新模型前面 |
| GPU 模擬 | 換顯示卡前就能預估效能:whichllm --gpu "RTX 5090" |
| 一鍵聊天 | 推薦後直接下載並啟動互動式對話 |
| 程式碼片段 | 生成可直接執行的 Python 推理程式碼 |
| 升級規劃 | 對比當前機器和候選 GPU 的差異 |
安裝方式
WhichLLM 提供多種安裝方式,推薦使用 uv 或 Homebrew:
方式一:uv(推薦,零安裝直接運行)
# 一次性運行(不安裝)
uvx whichllm@latest
# 安裝到全域
uv tool install whichllm
# 更新
uv tool upgrade whichllm
方式二:Homebrew
brew install andyyyy64/whichllm/whichllm
方式三:pip
pip install whichllm
安裝完成後,直接運行 whichllm 即可使用。
快速上手
自動偵測並推薦模型
什麼都不用配置,直接運行:
whichllm
輸出範例:
#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
WhichLLM 自動偵測了你的 GPU/CPU/RAM,推薦了最適合的模型並按綜合得分排序。注意第 3 名是一個 MoE(混合專家)模型——雖然總參數量大,但活躍參數少,所以速度快得多。
檢視硬體資訊
whichllm hardware
輸出範例:
GPU: NVIDIA RTX 4090 (24 GB VRAM)
CPU: AMD Ryzen 9 7950X (16 cores)
RAM: 64 GB
這對於了解自己的硬體配置很有幫助,尤其是當你不確定 GPU 型號和記憶體大小時。
進階功能
GPU 模擬:買顯示卡前先測試
你是否考慮升級到 RTX 5090,但想知道它能跑什麼模型?WhichLLM 可以模擬任何 GPU:
# 模擬 RTX 5090
whichllm --gpu "RTX 5090"
# 模擬 RTX 4060
whichllm --gpu "RTX 4060"
# 自訂 VRAM
whichllm --gpu "RTX 5060 16"
輸出範例:
#1 Qwen/Qwen3.6-27B 27.8B Q6_K score 94.7 ~40 t/s
#2 Qwen/Qwen3-32B 32.0B Q5_K_M score 88.0 ~38 t/s
這對於在購買硬體前做決策非常實用。
升級規劃:對比升級收益
想知道從 RTX 4090 升級到 RTX 5090 能帶來多少提升?
whichllm upgrade "RTX 4090" "RTX 5090" "H100"
輸出顯示每種配置下的推薦模型、得分和速度,一目了然。
反向規劃:跑特定模型需要什麼 GPU?
# 跑 Llama 3 70B 需要什麼顯示卡?
whichllm plan "llama 3 70b"
# 跑 Qwen2.5-72B 的 Q8_0 量化版本
whichllm plan "Qwen2.5-72B" --quant Q8_0
# 長上下文場景
whichllm plan "mistral 7b" --context-length 32768
輸出會告訴你需要的 VRAM、推薦什麼樣的 GPU、以及能達到的效能水準。
一鍵聊天:推薦即用
推薦到模型後,可以直接啟動對話:
# 下載並聊一個指定模型
whichllm run "qwen 2.5 1.5b gguf"
# 自動選擇最佳模型並聊天
whichllm run
WhichLLM 會自動建立隔離環境、下載模型、啟動互動式對話。
生成 Python 程式碼片段
如果你想在自己的應用程式中使用某個模型,WhichLLM 可以生成可直接執行的 Python 程式碼:
whichllm snippet "qwen 7b"
輸出:
from llama_cpp import Llama
llm = Llama.from_pretrained(
repo_id="Qwen/Qwen2.5-7B-Instruct-GGUF",
filename="qwen2.5-7b-instruct-q4_k_m.gguf",
n_ctx=4096,
n_gpu_layers=-1,
verbose=False,
)
output = llm.create_chat_completion(
messages=[{"role": "user", "content": "Hello!"}],
)
print(output["choices"][0]["message"]["content"])
直接複製貼上即可使用,省去翻閱文件的時間。
進階配置選項
按用例篩選
WhichLLM 支援按任務類型篩選模型:
# 選擇最適合編程的模型
whichllm --profile code
# 通用對話
whichllm --profile general
# 數學推理
whichllm --profile math
# 視覺/多模態
whichllm --profile vision
按量化精度篩選
# 只推薦 Q4_K_M 量化
whichllm --quant Q4_K_M
# 顯示更多結果
whichllm --top 20
# 最小速度要求
whichllm --min-speed 30
證據層級控制
WhichLLM 對每個模型的得分都標註了證據等級,你可以控制推薦的可信度:
# 嚴格模式:只推薦直接有基準資料的模型
whichllm --evidence strict
# 基礎模式:允許同系列模型的跨代匹配
whichllm --evidence base
JSON 輸出:腳本整合
將 WhichLLM 整合到自動化工作流程中:
# 獲取最佳模型的 HuggingFace ID
whichllm --top 1 --json | jq -r '.models[0].model_id'
# 獲取最佳編碼模型的完整資訊
whichllm --profile code --top 3 --json | jq '.models[] | {name: .model_id, score: .score, speed: .estimated_tok_per_sec}'
輸出範例:
{
"models": [
{
"model_id": "Qwen/Qwen3.6-27B-GGUF",
"score": 92.8,
"estimated_tok_per_sec": 27.3,
"speed_confidence": "high",
"quant": "Q5_K_M"
}
]
}
評分機制詳解
WhichLLM 的評分機制是其核心亮點,值得單獨說明。
資料來源
WhichLLM 聚合了以下基準測試資料:
- LiveBench — 即時生成的最新評測
- Artificial Analysis — 第三方獨立測試平台
- Aider — AI 編程助手基準
- Chatbot Arena ELO — LMSYS 的眾包評分
- Open LLM Leaderboard — HuggingFace 官方榜單
- 多模態/視覺評測 — 適用時
評分規則
- 不是越大越好:一個 27B 模型如果得分更高,會排在 32B 模型前面
- 時效衰減:2024 年的模型不會因為歷史高分而壓制 2026 年的新模型
- 信賴度分級:每個分數都標註了證據等級:
-
direct— 該模型、該量化方式有直接基準資料 -variant— 同型號不同量化版本的資料 -base— 基礎模型的資料(跨代推斷) -interpolated— 插值估算 -self-reported— 開發者自行報告的資料 - 防造假機制:拒絕不可信的虛假上傳資料,防止小型魔改模型借用大模型分數
實測:不同硬體的選擇
根據 WhichLLM 的最新資料(2026 年 6 月),不同硬體配置的推薦如下:
| 硬體 | VRAM | 推薦 | 速度 |
|---|---|---|---|
| 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 運行 | — | gpt-oss-20b (MoE) Q4_K_M (score 45.2) | ~6 t/s |
💡 注意:MoE(混合專家)模型的活躍參數遠少於總參數,因此在同等硬體上速度更快。WhichLLM 的評分機制已經考慮了這一點。
與同類工具對比
| 特性 | WhichLLM | Ollama | LM Studio | LocalAI |
|---|---|---|---|---|
| 自動推薦模型 | ✅ | ❌ | ❌ | ❌ |
| GPU 模擬 | ✅ | ❌ | ❌ | ❌ |
| 基準資料排名 | ✅ | ❌ | ❌ | ❌ |
| 升級規劃 | ✅ | ❌ | ❌ | ❌ |
| 程式碼片段生成 | ✅ | ❌ | ❌ | ❌ |
| 一鍵聊天 | ✅ | ✅ | ✅ | ✅ |
| JSON 輸出 | ✅ | ✅ | ❌ | ❌ |
| CLI 輕量 | ✅ | ✅ | ❌ | ✅ |
Ollama 仍然是跑模型的好選擇,但 WhichLLM 解決的是選模型的問題——這兩者其實是互補的:用 WhichLLM 找出模型,再用 Ollama 或其他工具跑起來。
實戰場景
場景一:新購顯示卡的採購決策
你想從 RTX 3060 升級,預算足夠買 RTX 5070 或 RTX 4090 二手:
# 模擬當前硬體
whichllm --gpu "RTX 3060"
# 模擬升級選項
whichllm upgrade "RTX 3060" "RTX 5070" "RTX 4090"
對比輸出結果,可以看到每張卡能跑什麼模型、速度如何,理性決策。
場景二:給專案的模型選擇建議
你的團隊要開發一個本地 RAG 系統,需要選擇推理模型:
# 用 CI 伺服器配置測試
whichllm --gpu "RTX 4090" --profile code --json | jq
用 JSON 輸出直接整合到決策文件中。
場景三:在邊緣裝置部署
# CPU only 模式
whichllm --cpu-only --top 10
找到最適合 CPU 推理的小模型,用於物聯網或嵌入式場景。
常見問題
Q: WhichLLM 會不會下載模型到本地?
A: 預設情況下,whichllm 只是查詢 HuggingFace API 和本地快取資料,不會下載模型。只有 whichllm run 指令才會下載模型。
Q: 如何更新模型資料?
whichllm --refresh
強制刷新快取,獲取 HuggingFace 上的最新模型。
Q: 沒有網路環境怎麼辦?
A: WhichLLM 內建快取機制,離線狀態下會使用預先快取的快照資料。
Q: 支援 AMD 顯示卡嗎?
A: 是的,WhichLLM 支援 NVIDIA、AMD、Apple Silicon 和純 CPU 模式。
總結
WhichLLM 解決了本地 LLM 開發者面臨的一個核心痛點:在海量模型中找到最適合自己硬體的那一個。它的亮點在於:
- 基於證據的智慧排名——不是簡單按參數大小排序,而是綜合理實基準資料和時效性
- GPU 模擬功能——買硬體前就能測試效能,避免衝動消費
- 一鍵整合——從推薦、聊天到程式碼生成,一個工具全部解決
- 可腳本化——JSON 輸出方便整合到自動化工作流程
無論你是剛入門本地 LLM 的開發者,還是正在搭建生產環境的團隊,WhichLLM 都能幫你節省數小時的試錯時間。
專案資訊:
- GitHub: github.com/Andyyyy64/whichllm
- 授權條款: MIT
- 安裝: pip install whichllm 或 brew install andyyyy64/whichllm/whichllm