llmfit

Hundreds of models & providers. One command to find what runs on your hardware.

1 — 概要

llmfit は、自分のマシンの RAM・CPU・GPU に「ちょうど合う」LLM を一発で教えてくれるターミナルツール。ハードウェアを検出し、数百モデルを Quality / Speed / Fit / Context の 4 軸でスコアリングして、実際に動かしやすいモデルをランキング表示する。

TUI対話式デフォルト
CLIテーブル/JSON
RESTllmfit serve
200+モデル対応

Ollama・llama.cpp・MLX などのランタイムと連携し、インストール済みモデルの検出やダウンロードも TUI から行える。MoE(Mixture-of-Experts)対応で、Mixtral や DeepSeek-V2/V3 は有効パラメータだけを見てメモリ見積もりする。

姉妹プロジェクト: Kubernetes 上でエージェントを管理する sympozium もある。
2 — インストール

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
3 — 使い方
llmfit

対話式 UI が起動する。システムスペック(CPU / RAM / GPU / VRAM / バックエンド)が上部に表示され、モデル一覧がスコア順のテーブルで出る。検索・フィルタ・ソート・テーマ切り替え・Plan モード(必要なハードウェア見積もり)・ダウンロードなどがキー操作で可能。

キー操作
/ または j / kモデル移動
/検索モード(名前・プロバイダ・パラメータ・用途で部分一致)
fFit フィルタ: All → Runnable → Perfect → Good → Marginal
a利用可否: All → GGUF Avail → Installed
sソート列: Score / Params / Mem% / Ctx / Date / Use Case
tテーマ切替(6 種類、自動保存)
pPlan モード(選択モデルに必要なハードウェア見積もり)
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 /healthLiveness
GET /api/v1/systemノードのハードウェア情報
GET /api/v1/models?min_fit=good&limit=20Fit リスト(フィルタ付き)
GET /api/v1/models/top?limit=5&use_case=codingこのノード向けトップモデル
上級者向け: GPU VRAM の自動検出が失敗する環境では llmfit --memory=24G で指定できる。メモリ見積もりのコンテキスト長は --max-context 8192 でキャップ可能。いずれも TUI / CLI / serve で共通。
4 — 仕組み

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 のみ。

5 — モデルデータベース

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 を更新してから再ビルドする。
6 — ランタイム連携
  • Ollama — デーモン API(GET /api/tags, POST /api/pull)。OLLAMA_HOST でリモート指定可。
  • llama.cppllama-cli / llama-server が PATH にあればランタイム検出。GGUF は Hugging Face 等からダウンロードしローカルキャッシュで「インストール済み」判定。
  • MLX — Apple Silicon 向け。mlx-community のキャッシュとオプションのサーバー。

TUI で d を押すとモデルをダウンロードでき、複数プロバイダがある場合はピッカーが開く。Ollama 用のモデル名は HF 名とマッピング表で対応している。

7 — 参考

リポジトリ: AlexsJones/llmfit

ライセンス: MIT

技術: Rust(clap, sysinfo, serde, ratatui, crossterm 等)。モデルリストは Python スクリプト(stdlib のみ)で HuggingFace API から取得。