Spaces:
Runtime error
Runtime error
File size: 4,487 Bytes
0faa1e7 7448477 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | ---
title: Neon Leaderboard
emoji: 📊
colorFrom: green
colorTo: blue
sdk: docker
app_port: 7860
pinned: false
short_description: Single-viewport dashboard for the Neon model leaderboard
---
# Neon Leaderboard
A single-page, single-viewport dashboard for exploring the
[`neon-router`](https://github.com/NeonGeckoCom/neon-router) weekly leaderboard —
Neon.ai models and retrieval pipelines evaluated across seven QA benchmarks.
Everything is **static**: no backend, no build step at serve time. The page reads
one precomputed file (`data.js`) and renders entirely in the browser, so it deploys
identically to a Hugging Face *Static* Space or GitHub Pages.
## What's inside
| Tab | What it shows |
|---|---|
| **Compare** | The full results grid. Pick a benchmark and see every pipeline ranked, or switch to **By model** to follow one pipeline across all benchmarks. Searchable benchmark / model dropdowns, sort by any metric (MRR, speed, cost…), filter to a single model, toggle Neon-only / disqualified rows, and relative color heat per column. |
| **Picks** | The router's single recommended pipeline per client **profile** × benchmark, with a statistical verdict (winner clear / inconclusive / all disqualified). Hover a profile header for its hard gates. |
| **Models** | A summary page for any model: pipeline, repo, mean MRR / gen / latency, Pareto and DQ counts, and its metrics across every benchmark. |
| **Metrics** | All models × all metrics — either **mean scores** (color-coded) or **wins / losses** per metric. Sortable by any metric. |
| **Guide** | Full metrics glossary, every client profile's hard gates, and run provenance. |
Hover any column header anywhere for a plain-language definition (e.g. *P50 = 50th
percentile latency*, *MRR = Mean Reciprocal Rank*). A light/dark toggle (◐) sits in
the top-right; append `?theme=light` to the URL to share a light-mode link, and
`#picks` / `#models` / `#metrics` / `#guide` to deep-link a tab.
## Faithfulness to the source
`data.js` is generated from the leaderboard's own source of truth — `run.json` plus
the profile YAMLs — and the picks, Pareto front, disqualifications, verdicts, and
win/loss tallies are recomputed with logic ported directly from
`router/pareto.py` and `router/reports/leaderboard.py`. Spot-checked to match
`reports/dashboard/leaderboard.md` exactly.
## Regenerating the data
When the leaderboard is re-run, rebuild `data.js` from a `neon-router` checkout:
```bash
python scripts/build_data.py \
--run-json /path/to/neon-router/reports/dashboard/raw/run.json \
--profiles-dir /path/to/neon-router/configs/profiles \
--out data.js
```
With a `neon-router` clone sitting next to this folder, the defaults already point
at it, so `python scripts/build_data.py` is enough. The script needs only
`pyyaml` (`pip install pyyaml`).
To change which models get the **NEON** badge, edit the `NEON_MODELS` set near the
top of `scripts/build_data.py` and re-run it.
## Deploying
### Hugging Face Static Space (BrainForge)
1. Create a new Space → SDK **Static** under the `BrainForge` org.
2. Push `index.html`, `app.js`, `data.js`, and this `README.md` (its front-matter
above configures the Space). That's the whole site.
```bash
# from this folder, with the Space repo as the remote
git lfs install --skip-repo
git add index.html app.js data.js README.md scripts/build_data.py
git commit -m "Neon leaderboard dashboard"
git push
```
### GitHub Pages (NeonGeckoCom)
1. Put these files at the repo root (or in `/docs`).
2. Settings → Pages → deploy from branch, root (or `/docs`).
No build step is required — it's plain static files.
## Local preview
```bash
python -m http.server 8000
# open http://localhost:8000/
```
Files:
```
index.html # markup + styles (single viewport shell)
app.js # all rendering / interactions (vanilla JS, no deps)
data.js # precomputed dataset (window.LEADERBOARD_DATA)
data.json # same data as plain JSON (for non-browser consumers)
scripts/build_data.py # regenerates data.js / data.json from run.json + profiles
```
## License
BSD-3-Clause — Copyright 2008-2025 Neongecko.com Inc. See [`LICENSE.md`](LICENSE.md).
The leaderboard figures are derived from the proprietary `neon-router` benchmark
pipeline; this repository covers the dashboard presentation code.
|