llmfit
Hundreds of models & providers. One command to find what runs on your hardware.
llmfit は、自分のマシンの RAM・CPU・GPU に「ちょうど合う」LLM を一発で教えてくれるターミナルツール。ハードウェアを検出し、数百モデルを Quality / Speed / Fit / Context の 4 軸でスコアリングして、実際に動かしやすいモデルをランキング表示する。
Ollama・llama.cpp・MLX などのランタイムと連携し、インストール済みモデルの検出やダウンロードも TUI から行える。MoE(Mixture-of-Experts)対応で、Mixtral や DeepSeek-V2/V3 は有効パラメータだけを見てメモリ見積もりする。
macOS / Linux(Homebrew)
brew install llmfit
クイックインストール(curl)
curl -fsSL https://llmfit.axjns.dev/install.sh | sh
最新バイナリを GitHub から取得し /usr/local/bin(sudo なしなら ~/.local/bin)に置く。
Windows(Scoop)
scoop install llmfit
ソースからビルド
git clone https://github.com/AlexsJones/llmfit.git
cd llmfit
cargo build --release
# バイナリ: target/release/llmfit
llmfit
対話式 UI が起動する。システムスペック(CPU / RAM / GPU / VRAM / バックエンド)が上部に表示され、モデル一覧がスコア順のテーブルで出る。検索・フィルタ・ソート・テーマ切り替え・Plan モード(必要なハードウェア見積もり)・ダウンロードなどがキー操作で可能。
| キー | 操作 |
|---|---|
↑ / ↓ または j / k | モデル移動 |
/ | 検索モード(名前・プロバイダ・パラメータ・用途で部分一致) |
f | Fit フィルタ: All → Runnable → Perfect → Good → Marginal |
a | 利用可否: All → GGUF Avail → Installed |
s | ソート列: Score / Params / Mem% / Ctx / Date / Use Case |
t | テーマ切替(6 種類、自動保存) |
p | Plan モード(選択モデルに必要なハードウェア見積もり) |
d | 選択モデルをダウンロード(複数プロバイダ時はピッカー表示) |
Enter | 詳細表示のオン/オフ |
q | 終了 |
Plan モード(p)
「このマシンに何が載るか」ではなく「このモデルを動かすには何が必要か」を逆算する。選択行で p を押すと、Context / Quant / Target TPS を編集でき、最小・推奨 VRAM/RAM/CPU コアや、GPU / CPU offload / CPU のみの可否が表示される。
CLI モード
--cli またはサブコマンドで従来のテーブル出力になる。
llmfit --cli
llmfit fit --perfect -n 5
llmfit system
llmfit search "llama 8b"
llmfit info "Mistral-7B"
llmfit recommend --json --limit 5
llmfit plan "Qwen/Qwen3-4B-MLX-4bit" --context 8192 --json
REST API(llmfit serve)
llmfit serve --host 0.0.0.0 --port 8787
ノードのハードウェア情報や「このノードで動かしやすいトップ N モデル」を API で取得できる。スケジューラやアグリゲータ向け。
| エンドポイント例 | 説明 |
|---|---|
GET /health | Liveness |
GET /api/v1/system | ノードのハードウェア情報 |
GET /api/v1/models?min_fit=good&limit=20 | Fit リスト(フィルタ付き) |
GET /api/v1/models/top?limit=5&use_case=coding | このノード向けトップモデル |
llmfit --memory=24G で指定できる。メモリ見積もりのコンテキスト長は --max-context 8192 でキャップ可能。いずれも TUI / CLI / serve で共通。
RAM/CPU は sysinfo、GPU はベンダー別に検出。NVIDIA(nvidia-smi・マルチGPU対応)、AMD(rocm-smi)、Intel Arc(sysfs/lspci)、Apple Silicon(system_profiler で統一メモリ)、Ascend(npu-smi)など。バックエンド(CUDA / Metal / ROCm / SYCL / CPU)も自動判定し、速度見積もりに使う。
各モデルは 0〜100 の 4 軸でスコアされ、用途別の重みで合成スコアになる。
| 軸 | 内容 |
|---|---|
| Quality | パラメータ数・ファミリー・量子化ペナルティ・タスク整合 |
| Speed | バックエンド・パラメータ・量子化から見積もり tok/s |
| Fit | メモリ利用率(50–80% がスイートスポット) |
| Context | コンテキスト窓が用途のターゲットを満たすか |
Fit: Perfect(GPU 推奨メモリ充足) / Good(余裕あり・MoE や CPU+GPU のベスト) / Marginal(ギリギリ or CPU のみ) / Too Tight(メモリ不足)。Run モード: GPU / MoE(expert offload) / CPU+GPU / CPU のみ。
HuggingFace API から取得したモデル情報が data/hf_models.json に格納され、ビルド時にバイナリに埋め込まれる。メモリ要求はパラメータ数と量子化階層(Q8_0〜Q2_K)から計算。MoE は num_local_experts 等で検出し、有効パラメータだけを使って VRAM 見積もりする。
make update-models または ./scripts/update_models.sh でスクレイパを実行し、data/hf_models.json を更新してから再ビルドする。
- Ollama — デーモン API(
GET /api/tags,POST /api/pull)。OLLAMA_HOSTでリモート指定可。 - llama.cpp —
llama-cli/llama-serverが PATH にあればランタイム検出。GGUF は Hugging Face 等からダウンロードしローカルキャッシュで「インストール済み」判定。 - MLX — Apple Silicon 向け。mlx-community のキャッシュとオプションのサーバー。
TUI で d を押すとモデルをダウンロードでき、複数プロバイダがある場合はピッカーが開く。Ollama 用のモデル名は HF 名とマッピング表で対応している。
リポジトリ: AlexsJones/llmfit
ライセンス: MIT
技術: Rust(clap, sysinfo, serde, ratatui, crossterm 等)。モデルリストは Python スクリプト(stdlib のみ)で HuggingFace API から取得。