[Backend] Publish hardware profiles and expected quality for self-hosted deployments #354

Closed
opened 2026-08-25 20:39:16 +00:00 by claude-bot · 1 comment
Contributor

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

  • At least three named profiles documented with model, hardware, timing, and accuracy
  • Numbers come from the golden-corpus harness, not estimates
  • Admin preflight reports the detected profile and any capability gaps
  • Documented in docs/OPERATIONS.md and referenced from the admin UI
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 - [ ] At least three named profiles documented with model, hardware, timing, and accuracy - [ ] Numbers come from the golden-corpus harness, not estimates - [ ] Admin preflight reports the detected profile and any capability gaps - [ ] Documented in `docs/OPERATIONS.md` and referenced from the admin UI
Author
Contributor

Landed in PR #500 (merged 2026-09-05, CI green).

  • Three named profiles documented in 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.
  • Numbers come from the harness, not estimatespython -m evals --provider live --record, history.jsonl tags 47c31d7-353-gpu / 47c31d7-353-cpu, the commands reproduced in the docs.
  • Admin preflightPOST /api/admin/ai/preflight measures the ASR server's reachability and declared capabilities, pools the real-time factor from the last ten session_usage rows (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 / > 40 tok/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). AdminHardwareProfile panel with a Run button; the result is stored and read back.
  • Referenced from the admin UI to the OPERATIONS section.

Not measured yet: ASR real-time factor (no session_usage rows exist on any deployment yet — the preflight will show it after the first processed session on v4.2.0).

Landed in **PR #500** (merged 2026-09-05, CI green). - **Three named profiles documented** in `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. - **Numbers come from the harness, not estimates** — `python -m evals --provider live --record`, `history.jsonl` tags `47c31d7-353-gpu` / `47c31d7-353-cpu`, the commands reproduced in the docs. - **Admin preflight** — `POST /api/admin/ai/preflight` measures the ASR server's reachability and declared capabilities, pools the real-time factor from the last ten `session_usage` rows (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` / `> 40` tok/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). `AdminHardwareProfile` panel with a Run button; the result is stored and read back. - Referenced from the admin UI to the OPERATIONS section. Not measured yet: ASR real-time factor (no `session_usage` rows exist on any deployment yet — the preflight will show it after the first processed session on v4.2.0).
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rbrooks/Quest-Board#354
No description provided.