Spaces:
Running
Running
Initial JevBench leaderboard Space
Browse files- index.html +147 -17
index.html
CHANGED
|
@@ -1,19 +1,149 @@
|
|
| 1 |
<!doctype html>
|
| 2 |
-
<html>
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
</html>
|
|
|
|
| 1 |
<!doctype html>
|
| 2 |
+
<html lang="en" data-theme="dark">
|
| 3 |
+
<head>
|
| 4 |
+
<meta charset="utf-8">
|
| 5 |
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
| 6 |
+
<title>JevBench — the open benchmark for Jev-class decision models</title>
|
| 7 |
+
<meta name="description" content="Live leaderboard for JevBench: an open benchmark for Jev-class decision models, scored on intelligence, calibration, speed, and cost.">
|
| 8 |
+
<link rel="stylesheet" href="style.css">
|
| 9 |
+
</head>
|
| 10 |
+
<body>
|
| 11 |
+
<main>
|
| 12 |
+
<header class="top">
|
| 13 |
+
<span class="wordmark">Benchmark Heaven</span>
|
| 14 |
+
<button class="theme-toggle" id="themeToggle" type="button">Toggle light / dark</button>
|
| 15 |
+
</header>
|
| 16 |
+
|
| 17 |
+
<div class="tag">Open benchmark</div>
|
| 18 |
+
<h1>JevBench</h1>
|
| 19 |
+
<p class="lede">The open benchmark for Jev-class decision models. One bounded rubric in, one answer distribution out — measured on intelligence above chance, calibration, speed, and cost.</p>
|
| 20 |
+
|
| 21 |
+
<div class="actions">
|
| 22 |
+
<a class="btn primary" href="https://benchmarkheaven.com/jev-models" target="_blank" rel="noopener">Explore the full interactive board</a>
|
| 23 |
+
<a class="btn" href="https://github.com/fstandhartinger/jevbench" target="_blank" rel="noopener">Code & method</a>
|
| 24 |
+
<a class="btn" href="https://github.com/fstandhartinger/jevbench/issues" target="_blank" rel="noopener">Submit a system</a>
|
| 25 |
+
</div>
|
| 26 |
+
|
| 27 |
+
<div class="facts">
|
| 28 |
+
<div class="fact"><b id="systemsCount">—</b><span>ranked systems</span></div>
|
| 29 |
+
<div class="fact"><b>534</b><span>decisions per complete run</span></div>
|
| 30 |
+
<div class="fact"><b>4</b><span>equally weighted axes</span></div>
|
| 31 |
+
<div class="fact"><b id="revision">—</b><span>current revision</span></div>
|
| 32 |
+
</div>
|
| 33 |
+
|
| 34 |
+
<h2>How the score works</h2>
|
| 35 |
+
<div class="method">
|
| 36 |
+
<div class="method-card"><b>Intelligence</b><span>Accuracy above chance, per tier (easy, standard, judge, hard), clipped at 0 and tier-weighted.</span></div>
|
| 37 |
+
<div class="method-card"><b>Calibration</b><span>Hard-tier expected calibration error plus fidelity to the exact gold probability distribution.</span></div>
|
| 38 |
+
<div class="method-card"><b>Speed</b><span>Serial p50 and p95 latency on a logarithmic scale, self-hosted endpoints adjusted for production load.</span></div>
|
| 39 |
+
<div class="method-card"><b>Cost</b><span>USD per 1,000 complete decisions — a whole question, not per 1,000 tokens.</span></div>
|
| 40 |
+
</div>
|
| 41 |
+
<p class="formula" id="formula">JevBench Score (v1.3): geometric mean of Intelligence, Calibration, Speed and Cost, 25% each. If chance-corrected Intelligence is below 50, the composite gets a growing <code>(Intelligence / 50)²</code> penalty; at or above 50 there is no penalty.</p>
|
| 42 |
+
|
| 43 |
+
<h2>Current leaderboard</h2>
|
| 44 |
+
<p class="note" id="sourceNote">Loading the live public results…</p>
|
| 45 |
+
<div class="table-wrap">
|
| 46 |
+
<table>
|
| 47 |
+
<thead>
|
| 48 |
+
<tr>
|
| 49 |
+
<th>Rank & system</th>
|
| 50 |
+
<th>Class</th>
|
| 51 |
+
<th>Score</th>
|
| 52 |
+
<th>Intelligence</th>
|
| 53 |
+
<th>Calibration</th>
|
| 54 |
+
<th>Speed</th>
|
| 55 |
+
<th>Cost</th>
|
| 56 |
+
<th>USD / 1k decisions</th>
|
| 57 |
+
<th>Licence</th>
|
| 58 |
+
</tr>
|
| 59 |
+
</thead>
|
| 60 |
+
<tbody id="board"><tr><td colspan="9">Loading current results…</td></tr></tbody>
|
| 61 |
+
</table>
|
| 62 |
+
</div>
|
| 63 |
+
|
| 64 |
+
<h2>Submit a system</h2>
|
| 65 |
+
<p class="lede">Open an issue in the <a href="https://github.com/fstandhartinger/jevbench/issues" style="color:var(--accent)">JevBench repository</a> with a public endpoint or reproducible serving instructions. Mappings and evaluation conditions are documented before aggregation; held-out tasks are never sent to submitter-operated endpoints.</p>
|
| 66 |
+
|
| 67 |
+
<footer class="foot">
|
| 68 |
+
JevBench is maintained by <a href="https://benchmarkheaven.com" target="_blank" rel="noopener">Benchmark Heaven</a> and is not affiliated with or endorsed by TypeSafe AI.
|
| 69 |
+
Jev is one of the systems evaluated, not the benchmark owner. See the full board at
|
| 70 |
+
<a href="https://benchmarkheaven.com/jev-models" target="_blank" rel="noopener">benchmarkheaven.com/jev-models</a> and the method at
|
| 71 |
+
<a href="https://github.com/fstandhartinger/jevbench" target="_blank" rel="noopener">github.com/fstandhartinger/jevbench</a>.
|
| 72 |
+
</footer>
|
| 73 |
+
</main>
|
| 74 |
+
|
| 75 |
+
<script>
|
| 76 |
+
(function () {
|
| 77 |
+
var root = document.documentElement;
|
| 78 |
+
var saved = localStorage.getItem('jevbench-theme');
|
| 79 |
+
if (saved) root.setAttribute('data-theme', saved);
|
| 80 |
+
else if (window.matchMedia && window.matchMedia('(prefers-color-scheme: light)').matches) root.setAttribute('data-theme', 'light');
|
| 81 |
+
document.getElementById('themeToggle').addEventListener('click', function () {
|
| 82 |
+
var next = root.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
|
| 83 |
+
root.setAttribute('data-theme', next);
|
| 84 |
+
localStorage.setItem('jevbench-theme', next);
|
| 85 |
+
});
|
| 86 |
+
})();
|
| 87 |
+
|
| 88 |
+
const LIVE_URL = 'https://benchmarkheaven.com/api/jevbench/v1.2';
|
| 89 |
+
const SNAPSHOT_URL = 'snapshot.json';
|
| 90 |
+
const f = n => Number.isFinite(+n) ? (+n).toFixed(1) : '—';
|
| 91 |
+
const money = v => (v == null ? '—' : 'USD ' + Number(v).toPrecision(3));
|
| 92 |
+
|
| 93 |
+
function bar(v) {
|
| 94 |
+
const pct = Math.max(0, Math.min(100, +v || 0));
|
| 95 |
+
return '<span class="bar-cell"><span class="bar-track"><span class="bar-fill" style="width:' + pct + '%"></span></span><span class="bar-num">' + f(v) + '</span></span>';
|
| 96 |
+
}
|
| 97 |
+
|
| 98 |
+
function render(rows, meta) {
|
| 99 |
+
document.getElementById('systemsCount').textContent = rows.length;
|
| 100 |
+
document.getElementById('revision').textContent = meta.revision || '—';
|
| 101 |
+
document.getElementById('board').innerHTML = rows.map(function (x, i) {
|
| 102 |
+
const rank = x.rank || (i + 1);
|
| 103 |
+
const name = x.repo ? '<a class="sys-name" href="' + x.repo + '" target="_blank" rel="noopener">' + x.display + '</a>' : '<span class="sys-name">' + x.display + '</span>';
|
| 104 |
+
return '<tr>' +
|
| 105 |
+
'<td><span class="rank">' + rank + '.</span>' + name + '</td>' +
|
| 106 |
+
'<td><span class="badge">' + (x.class || '—') + '</span></td>' +
|
| 107 |
+
'<td class="score">' + f(x.jevbench_score) + '</td>' +
|
| 108 |
+
'<td>' + bar(x.axes && x.axes.intelligence) + '</td>' +
|
| 109 |
+
'<td>' + bar(x.axes && x.axes.calibration) + '</td>' +
|
| 110 |
+
'<td>' + bar(x.axes && x.axes.speed) + '</td>' +
|
| 111 |
+
'<td>' + bar(x.axes && x.axes.cost) + '</td>' +
|
| 112 |
+
'<td>' + money(x.cost_usd_per_1000 != null ? x.cost_usd_per_1000 : (x.cost && x.cost.usd_per_1000)) + '</td>' +
|
| 113 |
+
'<td>' + (x.licence || '—') + '</td>' +
|
| 114 |
+
'</tr>';
|
| 115 |
+
}).join('');
|
| 116 |
+
}
|
| 117 |
+
|
| 118 |
+
function fromLive(d) {
|
| 119 |
+
const rows = (d.systems || [])
|
| 120 |
+
.filter(x => x.ranked && !x.partial)
|
| 121 |
+
.sort((a, b) => (b.jevbench_score || 0) - (a.jevbench_score || 0));
|
| 122 |
+
render(rows, d);
|
| 123 |
+
document.getElementById('sourceNote').textContent =
|
| 124 |
+
'Live from benchmarkheaven.com — revision ' + (d.revision || '—') + ', generated ' + (d.generated_utc ? d.generated_utc.slice(0, 10) : '—') + '. Partial runs and honorable mentions are omitted here; the full site preserves them.';
|
| 125 |
+
document.getElementById('sourceNote').className = 'note';
|
| 126 |
+
}
|
| 127 |
+
|
| 128 |
+
function fromSnapshot(d) {
|
| 129 |
+
render(d.systems || [], d);
|
| 130 |
+
document.getElementById('sourceNote').textContent =
|
| 131 |
+
'Live fetch was blocked by the browser, so this is a dated snapshot committed in this Space — revision ' + (d.revision || '—') + ', generated ' + (d.generated_utc ? d.generated_utc.slice(0, 10) : '—') + '. For the live board, use the link above.';
|
| 132 |
+
document.getElementById('sourceNote').className = 'note warn';
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
fetch(LIVE_URL, { cache: 'no-store' })
|
| 136 |
+
.then(r => { if (!r.ok) throw new Error('HTTP ' + r.status); return r.json(); })
|
| 137 |
+
.then(fromLive)
|
| 138 |
+
.catch(function () {
|
| 139 |
+
fetch(SNAPSHOT_URL)
|
| 140 |
+
.then(r => r.json())
|
| 141 |
+
.then(fromSnapshot)
|
| 142 |
+
.catch(function (e) {
|
| 143 |
+
document.getElementById('board').innerHTML = '<tr><td class="error" colspan="9">Could not load results. Use the full leaderboard link above. (' + e.message + ')</td></tr>';
|
| 144 |
+
document.getElementById('sourceNote').textContent = 'Could not load any leaderboard data.';
|
| 145 |
+
});
|
| 146 |
+
});
|
| 147 |
+
</script>
|
| 148 |
+
</body>
|
| 149 |
</html>
|