Spaces:
Running
Running
Publish RoleCall copy of PlotPoints benchmark with upstream attribution
Browse files- README.md +14 -5
- dashboard.js +1 -0
- index.html +103 -19
- round4.json +0 -0
README.md
CHANGED
|
@@ -1,10 +1,19 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: static
|
|
|
|
| 7 |
pinned: false
|
|
|
|
|
|
|
|
|
|
|
|
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: PlotPoints Leaderboard
|
| 3 |
+
emoji: 🎭
|
| 4 |
+
colorFrom: purple
|
| 5 |
+
colorTo: red
|
| 6 |
sdk: static
|
| 7 |
+
app_file: index.html
|
| 8 |
pinned: false
|
| 9 |
+
license: cc-by-nc-4.0
|
| 10 |
+
datasets:
|
| 11 |
+
- RoleCall/roleplay-bench
|
| 12 |
+
short_description: PlotPoints results, model search, and data from every round
|
| 13 |
---
|
| 14 |
|
| 15 |
+
# PlotPoints Leaderboard
|
| 16 |
+
|
| 17 |
+
Part of [RoleCall Studios](https://huggingface.co/spaces/RoleCall/rolecall-studios). A static dashboard of the [RoleCall dataset mirror](https://huggingface.co/datasets/RoleCall/roleplay-bench), copied from [lazyweasel/roleplay-bench](https://huggingface.co/datasets/lazyweasel/roleplay-bench) with its original attribution and license.
|
| 18 |
+
|
| 19 |
+
Round 04 table is a snapshot of the published J results, not human arena standings. The source export is linked on the page.
|
dashboard.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
|
|
|
|
| 1 |
+
let rows=[],sort='J',direction=-1;const body=document.getElementById('rows');const pct=x=>typeof x==='number'?Math.round(x*100)+'%':'—';function render(){const q=document.getElementById('search').value.toLowerCase(),group=document.getElementById('group').value;const selected=rows.filter(r=>(r.name||r.model).toLowerCase().includes(q)&&(!group||(group==='unranked'?!r.ranked:r.quadrant===group))).sort((a,b)=>{if(sort==='name')return direction*(a.name||a.model).localeCompare(b.name||b.model);if(a.J==null)return 1;if(b.J==null)return -1;return direction*(a.J-b.J)});body.replaceChildren();for(const r of selected){const tr=document.createElement('tr');const j=typeof r.J==='number'?(r.J>0?'+':'')+r.J.toFixed(2):'—';for(const value of [r.ranked?r.rank:'—',r.name||r.model,j,pct(r.held_first?.rate),pct(r.over_refusal_hard_rungs),r.quadrant||'Unranked']){const td=document.createElement('td');td.textContent=value;tr.append(td)}body.append(tr)}document.getElementById('count').textContent=selected.length+' of '+rows.length+' models';}document.getElementById('search').addEventListener('input',render);document.getElementById('group').addEventListener('change',render);for(const button of document.querySelectorAll('[data-sort]'))button.addEventListener('click',()=>{const next=button.dataset.sort;direction=sort===next?-direction:(next==='name'?1:-1);sort=next;render()});fetch('round4.json').then(r=>{if(!r.ok)throw Error(r.status);return r.json()}).then(data=>{rows=data.rows||data.leaderboard;if(!Array.isArray(rows))throw Error('Unexpected export');render()}).catch(()=>{document.getElementById('count').textContent='Could not load the table. Use the source JSON link below.'});
|
index.html
CHANGED
|
@@ -1,19 +1,103 @@
|
|
| 1 |
-
<!doctype html>
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>PlotPoints Leaderboard · RoleCall</title><link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@700;800;900&family=Inter:wght@400;500;700&family=JetBrains+Mono:wght@500;700&display=swap" rel="stylesheet"><style>
|
| 2 |
+
/* RoleCall — Vaudeville design system. Neobrutalist on a dark stage.
|
| 3 |
+
Brand = rose #e11d48. Violet is the user-accent (secondary).
|
| 4 |
+
Gold = featured/awards only (the benchmark). Hard 3px black borders,
|
| 5 |
+
6px offset shadows, zero radius, Cinzel marquee with 4px black punch. */
|
| 6 |
+
:root{
|
| 7 |
+
--canvas:#0a0a0b; --bg-panel:#1c1a22; --bg-higher:#26232d; --line:#3f3f46; --hard:#000;
|
| 8 |
+
--ink:#fafaf9; --ink-soft:#e4e4e7; --ink-muted:#a1a1aa; --ink-dim:#71717a;
|
| 9 |
+
--brand:#e11d48; --brand-soft:#fb7185; --brand-deep:#9f1239;
|
| 10 |
+
--accent:#8b5cf6; --accent-soft:#a78bfa; --gold:#eab308; --gold-soft:#fcd34d; --amber:#f59e0b; --pink:#ec4899; --pink-soft:#f9a8d4;
|
| 11 |
+
--font-display:'Cinzel',Georgia,serif; --font-serif:'Cormorant Garamond',Garamond,Georgia,serif;
|
| 12 |
+
--font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif; --font-mono:'JetBrains Mono',ui-monospace,monospace;
|
| 13 |
+
--border:3px solid var(--hard); --shadow:6px 6px 0 0 var(--hard); --shadow-sm:3px 3px 0 0 var(--hard);
|
| 14 |
+
}
|
| 15 |
+
*{box-sizing:border-box}
|
| 16 |
+
body{margin:0; background:var(--canvas); color:var(--ink-soft); font-family:var(--font-body);
|
| 17 |
+
font-size:16px; line-height:1.55; -webkit-font-smoothing:antialiased; min-height:100vh;
|
| 18 |
+
background-image:
|
| 19 |
+
radial-gradient(ellipse 80% 50% at 50% -10%, rgba(225,29,72,.10), transparent),
|
| 20 |
+
radial-gradient(ellipse 60% 40% at 90% 100%, rgba(139,92,246,.07), transparent);
|
| 21 |
+
background-attachment:fixed;}
|
| 22 |
+
::selection{background:var(--brand); color:var(--ink)}
|
| 23 |
+
.readme{max-width:840px; margin:0 auto; padding:48px 24px 84px}
|
| 24 |
+
a{color:var(--brand-soft); text-decoration:none; transition:color .12s ease-out}
|
| 25 |
+
a:hover{color:var(--accent-soft); text-decoration:underline; text-underline-offset:3px}
|
| 26 |
+
|
| 27 |
+
/* ── header ── */
|
| 28 |
+
.head{text-align:center; padding:14px 0 30px}
|
| 29 |
+
.logo{width:74px; height:auto; margin:0 auto 20px; display:block}
|
| 30 |
+
.eyebrow{font-family:var(--font-body); font-weight:700; font-size:.72rem; letter-spacing:.22em;
|
| 31 |
+
text-transform:uppercase; color:var(--brand); margin-bottom:16px}
|
| 32 |
+
.head h1{font-family:var(--font-display); font-weight:900; font-size:42px; letter-spacing:.04em;
|
| 33 |
+
text-transform:uppercase; margin:0; line-height:1.05; color:var(--ink); text-shadow:4px 4px 0 var(--hard)}
|
| 34 |
+
.tagline{font-family:var(--font-serif); font-style:italic; font-weight:500; font-size:21px; color:var(--ink-soft); margin-top:14px}
|
| 35 |
+
.badges{display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:24px}
|
| 36 |
+
.badge{display:inline-flex; align-items:stretch; font-family:var(--font-body); font-weight:700; font-size:11px;
|
| 37 |
+
letter-spacing:.12em; text-transform:uppercase; border:var(--border); box-shadow:var(--shadow-sm);
|
| 38 |
+
transition:transform .1s ease-out, box-shadow .1s ease-out}
|
| 39 |
+
.badge:hover{transform:translate(-1px,-1px); box-shadow:5px 5px 0 0 var(--hard)}
|
| 40 |
+
.badge .k{background:var(--hard); color:var(--ink-soft); padding:6px 10px}
|
| 41 |
+
.badge .v{padding:6px 11px; color:var(--canvas)}
|
| 42 |
+
.badge.disc .v{background:var(--accent)} .badge.reddit .v{background:var(--amber)} .badge.x .v{background:var(--ink-soft)}
|
| 43 |
+
|
| 44 |
+
/* stat strip — mono knockout tiles */
|
| 45 |
+
.stats{display:flex; gap:12px; flex-wrap:wrap; margin:4px 0 20px}
|
| 46 |
+
.stat{flex:1; min-width:118px; background:var(--hard); border:var(--border); padding:14px 16px}
|
| 47 |
+
.stat .n{font-family:var(--font-mono); font-weight:700; font-size:26px; color:var(--brand-soft); line-height:1}
|
| 48 |
+
.stat .l{font-weight:600; font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-muted); margin-top:8px}
|
| 49 |
+
|
| 50 |
+
/* sparkle divider — echoes the logo */
|
| 51 |
+
.ornament{display:flex; align-items:center; gap:16px; margin:30px 0}
|
| 52 |
+
.ornament::before,.ornament::after{content:""; flex:1; height:3px; background:var(--hard)}
|
| 53 |
+
.ornament span{color:var(--brand); font-size:14px; letter-spacing:.4em}
|
| 54 |
+
|
| 55 |
+
hr{border:0; border-top:var(--border); margin:30px 0}
|
| 56 |
+
|
| 57 |
+
/* ── section heads ── */
|
| 58 |
+
h2{font-family:var(--font-display); font-weight:800; font-size:23px; text-transform:uppercase; letter-spacing:.04em;
|
| 59 |
+
color:var(--ink); margin:38px 0 16px; padding-bottom:12px; display:flex; align-items:center; gap:13px;
|
| 60 |
+
border-bottom:var(--border); text-shadow:2px 2px 0 var(--hard)}
|
| 61 |
+
h2::before{content:""; width:15px; height:15px; background:var(--brand); border:var(--border); flex:0 0 auto}
|
| 62 |
+
h2 .em{color:var(--brand-soft)}
|
| 63 |
+
p{margin:0 0 16px; color:var(--ink-soft)}
|
| 64 |
+
strong{color:var(--ink)}
|
| 65 |
+
|
| 66 |
+
blockquote{margin:6px 0 26px; padding:0; text-align:center}
|
| 67 |
+
blockquote p{margin:0 auto; max-width:760px; font-family:var(--font-display); font-weight:700; font-size:clamp(17px,2.1vw,23px); letter-spacing:.04em; line-height:1.35; color:var(--ink-soft); text-shadow:2px 2px 0 var(--hard)}
|
| 68 |
+
|
| 69 |
+
.note{font-size:13.5px; color:var(--ink-muted); border-left:3px solid var(--pink); background:rgba(236,72,153,.06); padding:.55em 1em; margin:0 0 10px}
|
| 70 |
+
.note:last-of-type{margin-bottom:22px}
|
| 71 |
+
.note strong{color:var(--pink-soft)} .note a{color:var(--pink-soft)}
|
| 72 |
+
|
| 73 |
+
ul{margin:0 0 16px; padding-left:1.3em} li{margin:.32em 0} li::marker{color:var(--brand)}
|
| 74 |
+
|
| 75 |
+
/* ── table ── */
|
| 76 |
+
.tablewrap{border:var(--border); box-shadow:var(--shadow); margin:6px 0 24px}
|
| 77 |
+
table{border-collapse:collapse; width:100%; font-size:15px; background:var(--bg-panel)}
|
| 78 |
+
th,td{border:1px solid var(--line); padding:12px 15px; text-align:left; vertical-align:top}
|
| 79 |
+
thead th{background:var(--hard); color:var(--brand-soft); font-family:var(--font-body); font-weight:700;
|
| 80 |
+
font-size:11px; letter-spacing:.16em; text-transform:uppercase}
|
| 81 |
+
tbody tr{transition:background .12s ease-out}
|
| 82 |
+
tbody tr:nth-child(even){background:var(--bg-higher)}
|
| 83 |
+
tbody tr:hover{background:rgba(225,29,72,.08)}
|
| 84 |
+
td .nm{font-family:var(--font-display); font-weight:700; font-size:15px; letter-spacing:.03em; text-transform:uppercase}
|
| 85 |
+
td.r1 .nm{color:var(--brand-soft)} td.r2 .nm{color:var(--accent-soft)} td.r3 .nm{color:var(--gold-soft)}
|
| 86 |
+
td.lk{white-space:nowrap; font-family:var(--font-mono); font-size:13px}
|
| 87 |
+
|
| 88 |
+
.foot{color:var(--ink-dim); font-size:12px; text-align:center; margin-top:46px; font-family:var(--font-mono); letter-spacing:.08em}
|
| 89 |
+
|
| 90 |
+
.round-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0 26px}
|
| 91 |
+
.round-card{border:var(--border);box-shadow:var(--shadow);background:var(--bg-panel);padding:22px;min-width:0}
|
| 92 |
+
.round-number{font:700 11px var(--font-mono);letter-spacing:.15em;text-transform:uppercase;color:var(--pink-soft)}
|
| 93 |
+
.round-card h3{font:800 20px var(--font-display);color:var(--ink);margin:12px 0}
|
| 94 |
+
.round-card p{font-size:14px;color:var(--ink-muted)}
|
| 95 |
+
.round-card ul{margin-bottom:0;font-size:14px}
|
| 96 |
+
.round-nav{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
|
| 97 |
+
.round-nav a{border:var(--border);background:var(--bg-panel);padding:7px 12px;font:600 12px var(--font-mono)}
|
| 98 |
+
@media(max-width:600px){.round-grid{grid-template-columns:1fr}.head h1{font-size:32px}.readme{padding:28px 18px 60px}}
|
| 99 |
+
|
| 100 |
+
.readme{max-width:1100px}input,select{background:var(--bg-panel);color:var(--ink);border:var(--border);padding:12px;font:inherit;max-width:100%}.filters{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0}.tablewrap{overflow-x:auto}th button{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-align:left;padding:0}.tablewrap table{min-width:720px}</style></head><body><main class="readme"><div class="head"><div class="eyebrow">RoleCall Studios · Open benchmark</div><h1>PlotPoints</h1><p class="tagline">Read the results. Inspect the data.</p></div><p><a href="https://huggingface.co/spaces/RoleCall/rolecall-studios">RoleCall Studios</a> · <a href="https://huggingface.co/datasets/RoleCall/roleplay-bench">Full dataset</a> · <a href="https://plotlightstudios.com/plotpoints">Vote on PlotLight</a></p><h2>Round 04 <span class="em">Willingness</span></h2><p>J combines first-ask boundary holding with over-refusal on the harder escalation steps. Writing quality and human preference are separate. Treat J values within about 0.3 as tied.</p><div class="filters"><label>Find a model <input id="search" type="search" placeholder="Model name" autocomplete="off"></label><label>Group <select id="group"><option value="">All models</option><option>CALIBRATED</option><option>OVER-CAUTIOUS</option><option>PERMISSIVE</option><option>CONFUSED</option><option value="unranked">Unranked</option></select></label></div><p id="count" aria-live="polite">Loading results…</p><div class="tablewrap"><table><thead><tr><th>Rank</th><th><button data-sort="name">Model ↕</button></th><th><button data-sort="J">J ↕</button></th><th>Held first</th><th>Over-refusal</th><th>Group</th></tr></thead><tbody id="rows"></tbody></table></div><p class="note">The hard-limit score rests on four first asks for most models. Empty replies are excluded from J and reported separately; they can hide silent refusals. Held under a second push is reported in the source, outside J. This table is a published snapshot, not live human standings.</p><p><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/round4_willingness_leaderboard.json">Source JSON & definitions</a> · <a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/profile_cards_v2.md">Full model cards</a></p><h2>Data <span class="em">By Round</span></h2><div class="round-grid"><article class="round-card" id="round-01"><div class="round-number">Round 01</div><h3>First impressions</h3><p>Single replies, blind human votes, and the original writing tests.</p><ul><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/community_arena/train">Human standings</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/community_votes/train">Raw ballots</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/seeds/train">Seed scenarios</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/rubric/train">Writing rubric</a></li></ul></article>
|
| 101 |
+
<article class="round-card" id="round-02"><div class="round-number">Round 02</div><h3>Can it hold a scene?</h3><p>Full multi-turn scenes: consistency, momentum, agency, and adversarial failures.</p><ul><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/multiturn_arena_bayesian.json">Final human ratings</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/adversarial_analysis.json">Adversarial results</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/adversarial_seeds/train">Adversarial seeds</a></li><li><a href="https://plotlightstudios.com/plotpoints/round/2">Round archive</a></li></ul></article>
|
| 102 |
+
<article class="round-card" id="round-03"><div class="round-number">Round 03</div><h3>After Dark</h3><p>A refreshed model pool and a separate NSFW track. Judge findings and human preferences are different signals.</p><ul><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/round3_multi_judge.json">NSFW judge results</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/round3_kappa.json">Judge agreement</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/round4_continuity/train">Across-round comparisons</a></li><li><a href="https://plotlightstudios.com/plotpoints/round/3">Round archive & standings</a></li></ul></article>
|
| 103 |
+
<article class="round-card" id="round-04"><div class="round-number">Round 04</div><h3>Off the beaten path</h3><p>Adult intimacy, bondage play, graphic violence, and boundary probes. Willingness and writing quality are shown separately.</p><ul><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/round4_leaderboard/train">Willingness results · J</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/round4_overview/train">Model overview</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/round4_track_a_seeds/train">Escalation seeds</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/round4_track_b_probes/train">Boundary requests</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/viewer/round4_rater_agreement/train">Rater labels</a></li><li><a href="https://huggingface.co/datasets/RoleCall/roleplay-bench/blob/main/analysis/profile_cards_v2.md">Model cards</a></li><li><a href="https://github.com/LeviTheWeasel/rp-benchmark/blob/main/docs/ROUND4_FOR_READERS.md">Plain-English guide</a></li><li><a href="https://github.com/LeviTheWeasel/rp-benchmark/blob/main/docs/METHODOLOGY.md">Full methodology</a></li></ul></article></div><p>Benchmark and original data: <a href="https://github.com/LeviTheWeasel/rp-benchmark">LeviTheWeasel/rp-benchmark</a>. Dataset license: CC BY-NC 4.0.</p></main><script src="dashboard.js"></script></body></html>
|
round4.json
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|