TECHDEV · Flagship · Open-source tool

servefit

Before you rent the GPUs, check the map. Headlines say "production inference engine" and assume 64 Blackwell GPUs. Reality: DeepInfer collected ~19k stars in one week (GitHub Trending scan 2026-10-28) while serving exactly one model — DeepSeek-V4.1-Flash — on SM100+ or Ascend 950 silicon, offline-only, with no KV-cache system, no PD disaggregation, no load balancing (checked against the upstream repo 2026-11-01). servefit inventories your hardware, does the memory math for a model, checks a dated engine-support matrix, and tells you what you can actually serve — and with what.

Python · CLI · Apache-2.0 · Python 3.10+ · Zero dependencies. Works offline with --local <model-dir> or explicit --params/--layers/--kv-heads. Until a release is published on PyPI: pip install git+https://github.com/techdevfun/servefit.

The problem it answers

The OOM killer is a terrible capacity planner. Picking an LLM serving engine means combining three facts you usually don't have in one place: what hardware you actually have, what the model actually costs in memory at your context length, and which engines are actually viable on that combination. servefit answers exactly that: servefit inventory parses nvidia-smi (GPUs, VRAM, compute capability with name fallback) plus rocm-smi for AMD and CPU/RAM — Apple Silicon is reported as detected-with-limits, never guessed — then servefit fit --model Qwen/Qwen3-8B does weights + KV cache + overhead math with every assumption printed, picks viable engines from a curated 6-engine matrix, and gives one recommendation with reasons plus a starter config for that engine.

Three commands

CommandWhat it does
servefit inventory [--from saved.json]Hardware inventory: GPUs, VRAM, compute capability, CPU/RAM. --from plans a purchase before the box exists.
servefit fit --model <hf-id-or-label>Memory math + viable engines from the dated matrix + one recommendation + starter config. Exits with reasons, never silent.
servefit probe --endpoint <url> --model <id>Measures TTFT and approximate tokens/sec against a running OpenAI-compatible endpoint on your hardware.

Every command also writes --json out.json manifests for automation. Commands copied exactly from the servefit README (release 2026-11-01).

pip install git+https://github.com/techdevfun/servefit
servefit inventory
servefit fit --model Qwen/Qwen3-8B
# one recommendation, every assumption printed

A real run

servefit fit --model Qwen/Qwen3-8B on a synthetic RTX 4090 profile:

Memory math: weights 15.3 + KV 4.5 + overhead 1.0 = 20.8 GiB
  dtype bf16, ctx 32768, layers 36, kv-heads 8, head-dim 128

RECOMMENDED: SGLang
  + chip: compute_cap 8.9 >= 7.5
  + model: qwen family supported
  + memory: needs ~20.8 GiB, single-GPU VRAM has 24.0 GiB (fits)

Not viable:
  [no] DeepInfer
       chip: needs NVIDIA SM100 (Blackwell) or Ascend 950
       model: qwen not in supported families (deepseek-v4.1-flash-only)

The demo transcript labels what is synthetic (inventory runs against a synthetic RTX 4090 profile) and what is scripted (the probe runs against a local fake OpenAI-compatible server); the timing it measures is this machine's, honestly labeled.

Method — stated honestly

Memory math: weights = params × bytes-per-param; KV cache = 2 × layers × kv_heads × head_dim × context × bytes-per-param; plus a stated overhead line. Every assumption is printed, so you can argue with it. Hand-computed fixtures in the test suite (8B bf16: 14.9 GiB weights, 4.5 GiB KV @ 32k, 20.4 GiB total) all match; 37 tests, all green, CI across Python 3.10–3.13. The engine matrix is the opinionated part: a preference order (SGLang > vLLM > TensorRT-LLM > DeepInfer > llama.cpp > Ollama) gated by chip, model-family, and memory rules — and the matrix is dated: every row carries a check date (all 2026-11-01 at release), and CI fails if any row goes 90 days without re-verification, so staleness is loud, not silent.

What this is NOT — and where rivals beat us

Source + README on GitHub → · Report an issue → · ask@techdev.fun

Roadmap

License

Apache-2.0. See LICENSE in the repository.

Related tools

More open-source tools from TECHDEV: diffgate, sessguard, runverdict, gheist-guard, vetgate, context-diet, ci-failure-detective, agent-seatbelt, devsecops-os, env-doctor, skill-audit, logtrim, testguard, breakcheck, keymap, memgraph, ggufit, leaseguard, factfence, jsonfold

Have a say

Vote for this tool, suggest a feature, or discuss it with other operators on the community board.