為什麼你需要 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 官方榜單
  • 多模態/視覺評測 — 適用時

評分規則

  1. 不是越大越好:一個 27B 模型如果得分更高,會排在 32B 模型前面
  2. 時效衰減:2024 年的模型不會因為歷史高分而壓制 2026 年的新模型
  3. 信賴度分級:每個分數都標註了證據等級: - direct — 該模型、該量化方式有直接基準資料 - variant — 同型號不同量化版本的資料 - base — 基礎模型的資料(跨代推斷) - interpolated — 插值估算 - self-reported — 開發者自行報告的資料
  4. 防造假機制:拒絕不可信的虛假上傳資料,防止小型魔改模型借用大模型分數

實測:不同硬體的選擇

根據 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 開發者面臨的一個核心痛點:在海量模型中找到最適合自己硬體的那一個。它的亮點在於:

  1. 基於證據的智慧排名——不是簡單按參數大小排序,而是綜合理實基準資料和時效性
  2. GPU 模擬功能——買硬體前就能測試效能,避免衝動消費
  3. 一鍵整合——從推薦、聊天到程式碼生成,一個工具全部解決
  4. 可腳本化——JSON 輸出方便整合到自動化工作流程

無論你是剛入門本地 LLM 的開發者,還是正在搭建生產環境的團隊,WhichLLM 都能幫你節省數小時的試錯時間。


專案資訊: - GitHub: github.com/Andyyyy64/whichllm - 授權條款: MIT - 安裝: pip install whichllmbrew install andyyyy64/whichllm/whichllm