adminandClaude 8d2d5cd562 Grade 3 more models + dashboard v2 layout (quant/format as first-class)
New graded (11 total now):
  gemma4-26b-a4b-8bit-mlx    82  Minor Flaws  (tied top local; delta-based tx freq)
  qwen3.6-27b-8bit-mlx       78  Minor Flaws  (clean; anom. slow generation flagged)
  qwen3-coder-30b-6bit-mlx   50  Critical     (asyncio.Lock used with sync with -> crash)

Dashboard redesign:
  - Bar chart is now the full-width hero row (was cramped half-width)
  - 4 stat tiles squished 2x2 beside the radar up top
  - Quant + Format are dedicated columns in the leaderboard (MLX/GGUF/CLOUD chips)
  - New 'Format & Quant Showdown' panel: groups same-family variants so
    GGUF-vs-MLX and quant-depth comparisons are side by side
  - Bar-chart axis labels now include the quant so duplicate model names
    are distinguishable, with rotation for readability

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-28 16:51:50 -07:00

🧪 Local LLM Benchmark Suite

Grades local LLM models (run via LM Studio on an Apple M3 Max / 48 GB) on a strict systems-coding prompt — a pure-stdlib Python concurrent async LFU cache with TTL eviction and ACID transactions — and renders the results into a cyberpunk-terminal dashboard.

What's in here

prompts/
  lfu_cache_prompt.txt   # the exam prompt every model gets
  grading.txt            # the grader's rubric (5 pillars × 20 pts = 100)
outputs/                 # raw model .py outputs (named <model>-<quant>.py)
data/
  benchmark_history.json # persistent results store (source of truth)
generate_dashboard.py    # reads the JSON → builds dashboard.html + pages/*.html
dashboard.html           # generated — main leaderboard + charts  (gitignored)
pages/                   # generated — per-model detail pages        (gitignored)

Workflow

  1. Feed prompts/lfu_cache_prompt.txt to a model in LM Studio.

  2. Save its output to outputs/<model>-<quant>.py.

  3. Grade it (audit the 5 pillars, capture tok/sec + tokens + TTFT), and append its entry to data/benchmark_history.json. See prompts/grading.txt for the rubric.

  4. Regenerate the site:

    python3 generate_dashboard.py
    

    This (re)writes dashboard.html and every pages/<model>.html.

Viewing locally

python3 -m http.server 8000
# open http://localhost:8000/dashboard.html

Deploying (Gitea + Coolify)

The repo holds source only (outputs/, data/, generate_dashboard.py, prompts/). The generated dashboard.html and pages/ are gitignored — Coolify runs python3 generate_dashboard.py as a build step, then serves the static files. See DEPLOY.md for the exact Coolify service config.

Hardware

Apple M3 Max, 48 GB unified memory. Local inference via LM Studio. A cloud model (DeepSeek V4 Flash) is included as a quality baseline.

S
Description
No description provided
Readme
508 KiB
Languages
Python 85.9%
Rust 12%
TypeScript 1.1%
Shell 0.7%
Dockerfile 0.3%