개요
GPU/CPU/RAM을 자동으로 감지하고 벤치마크 품질과 속도에 따라 HuggingFace 모델의 순위를 매깁니다. 하드웨어 시뮬레이션, JSON 출력 및 인스턴트 채팅을 지원합니다.
README 미리보기
# whichllm\n\n[](https://pypi.org/project/whichllm/)\n[](https://www.python.org/downloads/)\n[](https://opensource.org/licenses/MIT)\n[](https://github.com/Andyyyy64/whichllm/actions/workflows/test.yml)\n[](https://github.com/sponsors/Andyyyy64)\n\n**Find the best local LLM that actually runs on your hardware.**\n\nAuto-detects your GPU/CPU/RAM and ranks the top models from HuggingFace that fit your system.\n\n[日本語版はこちら](docs/README.ja.md)\n\n## Quick start\n\nRun the recommendation command once, with no project setup.\n\n```bash\nuvx whichllm@latest\n```\n\nSimulate a GPU before you buy hardware.\n\n```bash\nuvx whichllm@latest --gpu "RTX 4090"\n```\n\nInstall it when you use it often.\n\n```bash\nuv tool install whichllm\nuv tool upgrade whichllm # update an existing install\n```\n\nOther install paths.\n\n```bash\nbrew install andyyyy64/whichllm/whichllm\npip install whichllm\n```\n\n## Common workflows\n\nAfter install, run `whichllm` directly. For one-off runs, replace `whichllm`\nwith `uvx whichllm@latest`.\n\n```bash\n# Best models for this machine\nwhichllm\n\n# Pretend you have a specific GPU\nwhichllm --gpu "RTX 4090"\n\n# Compare upgrade candidates\nwhichllm upgrade "RTX 4090" "RTX 5090" "H100"\n\n# Find the GPU needed for a model\nwhichllm plan "llama 3 70b"\n\n# Start a chat with a model\nwhichllm run "qwen 2.5 1.5b gguf"\n\n# Print copy-paste Python\nwhichllm snippet "qwen 7b"\n\n# Return JSON for scripts\nwhichllm --top 1 --json\n```\n\n\n\n## See it\n\n```text\n$ whichllm --gpu "RTX 4090"\n\n#1 Qwen/Qwen3.6-27B 27.8B Q5_K_M score 92.8 27 t/s\n#2 Qwen/Qwen3-32B 32.0B Q4_K_M score 83.0 31 t/s\n#3 Qwen/Qwen3-30B-A3B 30.0B Q5_K_M score 82.7 102 t/s\n```\n\nThe 32B model **fits your card fine** — whichllm still ranks the 27B #1,\nbecause it scores higher on real benchmarks and is a newer generation.\nA size-only "what fits?" tool would hand you the bigger one. That gap is\nthe whole point of whichllm. (Note #3: a MoE model
FAQ (5)
문제 해결특정 Hugging Face repo ID에 대해 whichllm이 "No model found matching"이라고 표시하는 문제를 어떻게 해결하나요?
정확한 Hugging Face repo ID 조회 기능이 추가된 v0.5.18 이상으로 whichllm을 업그레이드하세요:
python -m pip install -U "whichllm>=0.5.18"
Homebrew를 통해 설치한 경우, whichllm tap/formula를 업그레이드한 후 다음을 실행하세요:
whichllm plan ilsp/Llama-Krikri-8B-Instruct
JSON 출력을 원하는 경우:
whichllm plan ilsp/Llama-Krikri-8B-Instruct --json
정확한 owner/repo ID를 전달하면, v0.5.18+는 해당 모델이 캐시된 모델 카탈로그에 없는 경우 Hugging Face에서 해당 저장소를 직접 가져옵니다. 또한 HF_ENDPOINT 환경 변수를 따릅니다.
문제 해결Qwen3.8-27B가 whichllm 추천에서 누락된 이유는 무엇이며, 어떻게 해결할 수 있나요?
whichllm을 **v0.5.18 이상**으로 업그레이드하세요. 이전 릴리스에서는 Hugging Face image-text-to-text 태그가 비전 전용 모델로 처리되어 Qwen/Qwen3.8-27B가 제외되었고, Qwen 마이너 버전들이 하나의 qwen3-27b 패밀리로 통합되었으며, Qwen3.6을 더 높게 평가하는 오래된 벤치마크/계보 데이터를 사용했습니다.
수정된 릴리스는 다음과 같이 실행하세요:
uvx whichllm@0.5.18
또는:
uvx whichllm@latest
v0.5.18에서는 그룹화 과정에서 체크포인트 버전과 조직 식별 정보가 보존되며, 최신 Qwen 릴리스가 포함됩니다. 유지 관리자의 M2 Max 96 GB 비교에서 Qwen3.8-27B는 상위 10위권에 없던 상태에서 2위로 상승했습니다. 이전 버전에서는 vision 또는 any 프로필/include_vision=True를 사용해도 페치 필터를 우회할 수 있을 뿐이며, 순위 및 그룹화 문제를 해결하려면 여전히 업그레이드가 필요합니다.
문제 해결models.json 또는 benchmarks.json을 읽을 때 UnicodeDecodeError가 발생하며 whichllm이 크래시되는 문제를 어떻게 해결하나요?
whichllm을 버전 0.5.17 이상으로 업그레이드하세요. 이 버전은 non-UTF-8 캐시 파일을 손상된 캐시로 처리하여 충돌하는 대신 캐시를 새로 고칩니다:
python -m pip install --upgrade whichllm
Homebrew를 통해 설치한 경우:
brew update
brew upgrade whichllm
이전 버전에서 임시 해결 방법으로, whichllm 캐시 디렉터리에서 손상된 models.json 및/또는 benchmarks.json 파일을 삭제한 다음 whichllm을 다시 실행하여 캐시가 다시 빌드되도록 하세요.
문제 해결벤치마크 수집 중 아카이브된 Open LLM Leaderboard를 페이지네이션할 때 발생하는 HTTP 429 rate-limit 오류는 어떻게 해결하나요?
whichllm v0.5.20 이상으로 업그레이드하세요. 이번 릴리스는 숫자 및 HTTP-date 형식의 Retry-After 헤더를 준수하고, 아카이브된 Open LLM Leaderboard에 대해 소스별 제한 재시도 설정을 사용하며, 재시도 후에도 이후 페이지가 여전히 속도 제한 상태인 경우 이미 가져온 페이지를 보존합니다. 수집을 다시 실행하세요. 부분 결과는 24시간 동안 캐시되며, 캐시된 실행에서는 가져오기 경고가 반복되지 않습니다. 점수를 강제로 다시 가져오려면 --refresh를 사용하세요. 첫 번째 리더보드 페이지가 429 오류로 실패하면 아직 보존된 페이지가 없으므로 해당 소스는 여전히 실패합니다.
문제 해결AA가 지수를 개편한 후 오래된 AA Intelligence Index 점수와 순위를 어떻게 수정할 수 있나요?
whichllm v0.5.20 이상 버전으로 업그레이드하세요. v0.5.15는 _AA_INDEX_MIN/_AA_INDEX_MAX를 재조정하고 개편된 스케일에 맞게 AA 폴백 스냅샷을 갱신했으며, v0.5.20은 유한한 라이브 AA 점수가 감소하거나 0이 되더라도 저장된 점수를 대체할 수 있도록 하여 수정을 완료했습니다. 라이브 응답에 없는 모델은 저장된 점수를 그대로 유지합니다. 업그레이드 후에는 --refresh 옵션을 사용해 실행하여 기존 벤치마크 캐시를 우회하고 최신 데이터를 강제로 가져오세요: whichllm --refresh (또는 설치 환경에 맞는 동등한 명령어를 사용하세요).