[Backend] Publish hardware profiles and expected quality for self-hosted deployments #354
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found in the August 2026 session lifecycle review (#319).
Why
A self-hoster currently has no way to know what hardware they need or what quality to expect. They discover it by recording a three-hour session and being disappointed — which is the most expensive possible feedback loop.
Proposed fix
Document a small set of named profiles: CPU-only, modest GPU, and a workstation-class GPU. For each, record the model choices, approximate processing time for a 3.5 h / 5-speaker session, the practical context window, and golden-corpus accuracy scores including the beat validation rate.
Add a preflight check to Admin → Bot Settings that measures the configured endpoints and reports which profile the deployment resembles, so the answer arrives before the first real session rather than after it.
Acceptance criteria
docs/OPERATIONS.mdand referenced from the admin UILanded in PR #500 (merged 2026-09-05, CI green).
docs/OPERATIONS.md→ "Hardware profiles": CPU-only (Ryzen 9800X3D, 3B Q4 — measured), modest GPU (the hardware and command that would fill it; honestly empty), workstation GPU (RTX 3090, qwen3.5 9B Q8 — measured), each with model, hardware, approximate processing time, practical window and golden-corpus scores including beat validation rate.python -m evals --provider live --record,history.jsonltags47c31d7-353-gpu/47c31d7-353-cpu, the commands reproduced in the docs.POST /api/admin/ai/preflightmeasures the ASR server's reachability and declared capabilities, pools the real-time factor from the last tensession_usagerows (or says "not yet measured" rather than benchmarking synthetically), probes the LLM with one fixed 128-token prompt for tokens/s, and reports the throughput class (< 10/10–40/> 40tok/s — named by throughput rather than silicon, because a GPU-less 9800X3D measures 15.6 and does not need the long timeouts), the capability gaps, and an expected processing time for a 3.5 h / 5-speaker session (prefill charged at 10× generation; validated to within ~30 % on three configurations).AdminHardwareProfilepanel with a Run button; the result is stored and read back.Not measured yet: ASR real-time factor (no
session_usagerows exist on any deployment yet — the preflight will show it after the first processed session on v4.2.0).