QBenchIndependent benchmark intelligence
DATA SNAPSHOT · 30 OCT 2026
INDEPENDENT AI EVALUATION DATABASE

QBench.

AIモデルの性能を、ベンチマークごとのランキング・評価内容・出典データから比較。

QBENCH / LIVE DATASETLast source snapshot: 30 Oct 2026
Models
—
Across all benchmark datasets
Providers
—
Model creators represented
Results
—
Published model scores
Datasets
—
With model-level results
Configurations
—
Model and harness variants
ARTIFICIAL ANALYSIS · SOURCE REFERENCE

Intelligence Index v5.0

Artificial Analysisの公開スナップショットを基準に、総合スコア・コスト・処理時間・トークン使用量を比較。QBench独自スコアとは分離しています。

31 OCT 202628 of 717 models in supplied source snapshotAA official leaderboard ↗
Leading model—Intelligence Index
Models with AA score—Source snapshot only
Lowest cost · top 10—Intelligence Index task
Median output tokens—Tokens per task · available values
Source snapshot: user-provided AA HTML · 31 Oct 2026
Model comparison
Artificial Analysis Intelligence Index · higher is better
Scores copied from the supplied Artificial Analysis reference HTML. No missing scores are estimated.
Provider distribution
Models in the visible AA source snapshot
Time per task
Weighted average · seconds · lower is better
Output token breakdown
Reasoning and answer tokens per task
Cost per task breakdown
USD · input, cache, reasoning and answer
Intelligence Index leaderboard
Exact source scores · configuration variants are preserved as displayed model names
— MODELS
Rank / ModelProviderIndexCost / taskTime / taskOutput tokensRelease
Loading AA reference snapshot…
Missing source metrics are displayed as —. They are not inferred or imputed.
AA v5 evaluation breakdown
Native published units from the supplied reference snapshot · blanks mean no value in the source
9 EVALUATIONS
ModelAA-Briefcase
Elo
AutomationBench
Score
GDP.pdf
All-pass
FrontierCode 2.0
Pass rate
Terminal-Bench 4.0
Pass rate
Terminal-Bench Science
Pass rate
CritPt v2 Hard
Pass rate
AA-Omniscience
Accuracy
HLE-Diamond
Accuracy
Loading evaluation results…
Percentages are displayed as published proportions × 100; AA-Briefcase remains Elo. This table contains only values present in the supplied AA source snapshot.
Data integrity: This panel is an imported snapshot from the AA HTML reference you supplied, not a live API feed. The 28 visible models are not the full AA model catalogue. QBench will not assign AA Intelligence Index scores to models absent from this source. The separate QBench Index uses its own benchmark-level calculations and must not be confused with AA's native 0–100 score. AA v5 methodology and weights ↗

Model leaderboard

Select a benchmark to compare its published model scores.

— MODELS
Ranked results
Scores remain on each benchmark's published scale.
Loading benchmark data…

QBench Composite Index 3.0

AA Intelligence Index v5と同じ9評価・4領域・公式配点を採用。十分なモデル数が確認できた評価だけを使い、独自のパーセンタイル方式で集計。

— MODELS
—Ranked · 4/4 categories + ≥50% weight
—Coverage-only · not ranked
9AA v5 evaluations
≥8Models required per evaluation
QBench 3.0 ranking
4カテゴリすべてをカバーし、利用可能な公式配点が50%以上あるモデルのみ順位付け。
Rank / ModelKnowledge WorkCodingScienceGeneralQBench scoreCoverage
Calculating composite score…
Percentile scores and coverage are calculated from the imported source tables.
Method: QBench 3.0 mirrors the nine evaluation names, four equal 25% categories, and per-evaluation weights published for Artificial Analysis Intelligence Index v5. Within each eligible evaluation, each model’s best reported configuration is converted to a midrank percentile. Percentiles are combined within each category using the official relative weights; the four category scores are then averaged equally. To reduce unstable ranks, an evaluation must contain at least eight unique model names before it can contribute. A model is ranked only when all four categories are represented and at least 50% of the official total evaluation weight is available. This is QBench’s independent percentile-based index, not a reproduction of AA’s native 0–100 score.
Frontier extensions: FrontierMath Erdős and MirrorCode are monitored separately. They are difficult, independently administered evaluations, but current public model-level coverage is too small for a fair composite contribution. Earthborne Rangers is also monitored separately because its protocol changed. DeepSWE v1.1 is excluded while Epoch AI labels it Flawed.
AA Index v5 announcement · Official weights and methodology · MirrorCode · FrontierMath Erdős
AA v5 component set and weights: Knowledge Work — AA-Briefcase v1.1 (15%), AutomationBench-AA (5%), GDP.pdf (5%); Coding — FrontierCode 2.0 (15%), Terminal-Bench 4.0 (10%); Science — Terminal-Bench-Science 0.1 (15%), CritPt v2 Hard (10%); General — AA-Omniscience v1.1 (15%), HLE-Diamond (10%).

Public-source comparability: Terminal-Bench 4.0 and HLE-Diamond are imported from their public leaderboards, not AA’s private run pipeline. Their benchmark identity matches the AA v5 components, but their harnesses/scoring settings are not guaranteed to match AA’s internal runs.Source caveat: public leaderboard scores can use different harnesses from AA’s internal Stirrup runs. In particular, Terminal-Bench-Science uses Vals AI / Mini-SWE-agent single-run results, while AA reports its own three-run Stirrup evaluation. These are same benchmark versions, not identical evaluation runs.
Additional hard benchmarks: FrontierMath Tier 4 v2 remains a useful standalone test (41 private problems; current best 100%), but is not an unsolved benchmark. FrontierMath Erdős and MirrorCode are better current frontier monitors; ARC-AGI-3 is tracked separately because public results are team/system submissions rather than base-model scores.

Benchmark directory

各テストの内容・収録モデル数・公開データの状態を確認。

— EVALUATIONS

Statistical analysis

2026-10-31の収録スナップショットから再計算。ユニークモデル数と生データ行数を区別し、評価ごとのカバレッジを表示。

LIVE FROM QBENCH DATA
Models per benchmark
Unique model names in each dataset
Model coverage by provider
Model/provider pairs across imported results
Selected benchmark ranking
Changes with the leaderboard selection
Result coverage
Unique models compared with raw result rows

How to read QBench

評価結果の意味と比較条件を明確にするための基本ルール。

01 / BENCHMARK

One ranking per test

評価ごとに目的・問題形式・スコア単位が異なるため、基本はベンチマーク単位で順位を比較します。

02 / SCORE

Keep the published scale

正答率、Elo、成功率など、元の評価が公表する単位をそのまま表示。異なる単位を無理に足し合わせません。

03 / COVERAGE

Show the available evidence

モデル数・設定数・データ更新日・出典を明示。未公開の結果や不足値を推測で補完しません。

+aaNumber(v,2); const aaDate=v=>v?new Date(v+'T00:00:00Z').toLocaleDateString('en-US',{month:'short',year:'numeric',timeZone:'UTC'}):'—'; const aaChart=(id,option)=>{const el=$('#'+id);if(!el||!window.echarts)return;let c=echarts.getInstanceByDom(el);if(!c){c=echarts.init(el,null,{renderer:'canvas'});state.charts.push(c);}c.setOption(option,true);}; const aaModels=()=>aaState.filtered.slice().sort((a,b)=>b.intelligenceIndex-a.intelligenceIndex); function aaFilter(){ if(!aaState.data)return; const q=aaState.query.toLowerCase(); aaState.filtered=aaState.data.models.filter(m=>(aaState.provider==='all'||m.provider===aaState.provider)&&(aaState.weights==='all'||(aaState.weights==='open'?m.openWeights:!m.openWeights))&&(!q||(m.name+' '+m.provider).toLowerCase().includes(q))); aaRender(); } function aaRender(){ const rows=aaModels(),top=rows[0],costs=rows.filter(x=>x.costPerTaskUSD!=null).slice().sort((a,b)=>a.costPerTaskUSD-b.costPerTaskUSD),top10=rows.slice(0,10),lowest=top10.filter(x=>x.costPerTaskUSD!=null).sort((a,b)=>a.costPerTaskUSD-b.costPerTaskUSD)[0],tokens=rows.map(x=>x.outputTokens).filter(x=>x!=null).sort((a,b)=>a-b),median=tokens.length?(tokens.length%2?tokens[(tokens.length-1)/2]:(tokens[tokens.length/2-1]+tokens[tokens.length/2])/2):null; $('#aaLeader').textContent=top?.shortName||top?.name||'—';$('#aaLeaderScore').textContent=top?'Index '+aaNumber(top.intelligenceIndex,2):'No source score'; $('#aaModelCount').textContent=rows.length+' / '+aaState.data.displayedModels;$('#aaLowestCost').textContent=aaMoney(lowest?.costPerTaskUSD);$('#aaLowestCostModel').textContent=lowest?.shortName||lowest?.name||'Top 10 · source data'; $('#aaMedianTokens').textContent=median==null?'—':aaNumber(median/1000,1)+'k'; $('#aaFilteredCount').textContent=rows.length+' / '+aaState.data.displayedModels+' MODELS'; $('#aaCoverage').textContent=aaState.data.displayedModels+' of '+aaState.data.sourceDisplayedTotal+' models in supplied source snapshot'; const metricViews={index:['Intelligence Index','Native AA score · higher is better'],cost:['Cost per task','USD per task · lower is better'],time:['Time per task','Seconds per task · lower is better'],tokens:['Output tokens per task','Answer + reasoning tokens · lower is not always better'], 'score-cost':['Intelligence Index vs. Cost per Task','Higher score and lower cost are preferable'], 'score-release':['Intelligence Index vs. Model Release','Source release date · score is not an estimate']}; const v=metricViews[aaState.view]||metricViews.index;$('#aaMainSubtitle').textContent=v[0]+' · '+v[1]; document.querySelectorAll('[data-aa-view]').forEach(b=>b.classList.toggle('is-active',b.dataset.aaView===aaState.view)); const palette=m=>m.providerColor||color(m.provider); const chartRows=rows.slice().sort((a,b)=>{const k={index:'intelligenceIndex',cost:'costPerTaskUSD',time:'timePerTaskSeconds',tokens:'outputTokens'}[aaState.view]||'intelligenceIndex';return Number(a[k]??Infinity)-Number(b[k]??Infinity);}); if(['index','cost','time','tokens'].includes(aaState.view)){ const key={index:'intelligenceIndex',cost:'costPerTaskUSD',time:'timePerTaskSeconds',tokens:'outputTokens'}[aaState.view],unit={index:'',cost:' USD',time:' sec',tokens:' tokens'}[aaState.view],valid=chartRows.filter(m=>m[key]!=null),show=valid.slice(0,24); aaChart('aaMainChart',{animationDuration:250,grid:{left:190,right:65,top:16,bottom:32},xAxis:{type:'value',axisLabel:{...axis(),formatter:v=>aaNumber(v,0)},splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},yAxis:{type:'category',data:show.map(m=>m.shortName||m.name).reverse(),axisLabel:{...axis(),width:170,overflow:'truncate',fontSize:11}},tooltip:{trigger:'axis',axisPointer:{type:'shadow'},formatter:p=>{const m=show[show.length-1-p[0].dataIndex];return ''+esc(m.name)+'
'+esc(m.provider)+'
'+aaNumber(m[key],2)+unit;}},series:[{type:'bar',barMaxWidth:18,data:show.map(m=>({value:m[key],itemStyle:{color:palette(m),borderRadius:[0,3,3,0]}})).reverse(),label:{show:true,position:'right',fontSize:10,formatter:p=>aaNumber(p.value,aaState.view==='index'?2:1)}}]}); $('#aaMainNote').textContent=valid.length+' models have a published '+v[0].toLowerCase()+' value in this snapshot. Missing values are excluded from this chart, not treated as zero.'; }else if(aaState.view==='score-cost'){ const valid=rows.filter(m=>m.costPerTaskUSD!=null&&m.intelligenceIndex!=null); aaChart('aaMainChart',{grid:{left:60,right:30,top:24,bottom:55},xAxis:{type:'value',name:'Cost per task (USD)',nameLocation:'middle',nameGap:36,axisLabel:axis(),splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},yAxis:{type:'value',name:'Intelligence Index',axisLabel:axis(),splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},tooltip:{formatter:p=>{const m=p.data.model;return ''+esc(m.name)+'
Index: '+aaNumber(m.intelligenceIndex,2)+'
Cost: '+aaMoney(m.costPerTaskUSD);}},series:[{type:'scatter',symbolSize:12,data:valid.map(m=>({value:[m.costPerTaskUSD,m.intelligenceIndex],model:m,itemStyle:{color:palette(m)}})),markLine:{silent:true,symbol:'none',lineStyle:{type:'dashed',opacity:.4},data:[{type:'average',valueIndex:0},{type:'average',valueIndex:1}]}}]}); $('#aaMainNote').textContent=valid.length+' models have both an AA Index score and published cost-per-task data. Lower-right is not automatically better; compare score and cost together.'; }else{ const valid=rows.filter(m=>m.releaseDate&&m.intelligenceIndex!=null); aaChart('aaMainChart',{grid:{left:60,right:30,top:24,bottom:55},xAxis:{type:'time',name:'Release date',nameLocation:'middle',nameGap:36,axisLabel:{...axis(),formatter:v=>new Date(v).toLocaleDateString('en-US',{month:'short',year:'2-digit'})},splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},yAxis:{type:'value',name:'Intelligence Index',axisLabel:axis(),splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},tooltip:{formatter:p=>{const m=p.data.model;return ''+esc(m.name)+'
'+aaDate(m.releaseDate)+'
Index: '+aaNumber(m.intelligenceIndex,2);}},series:[{type:'scatter',symbolSize:13,data:valid.map(m=>({value:[new Date(m.releaseDate+'T00:00:00Z').getTime(),m.intelligenceIndex],model:m,itemStyle:{color:palette(m)}}))}]}); $('#aaMainNote').textContent=valid.length+' models with a source release date and AA Index score. This is a cross-sectional release comparison, not a historical Progress Index time series.'; } const providerCounts={};rows.forEach(m=>providerCounts[m.provider]=(providerCounts[m.provider]||0)+1); aaChart('aaProviderChart',{tooltip:{trigger:'item',formatter:p=>p.name+': '+p.value+' models ('+p.percent+'%)'},legend:{type:'scroll',orient:'vertical',right:0,top:10,bottom:10,textStyle:axis()},series:[{type:'pie',radius:['43%','72%'],center:['34%','52%'],label:{show:false},data:Object.entries(providerCounts).sort((a,b)=>b[1]-a[1]).map(([name,value])=>({name,value,itemStyle:{color:color(name)}}))}]}); const timeRows=rows.filter(m=>m.timePerTaskSeconds!=null).slice().sort((a,b)=>a.timePerTaskSeconds-b.timePerTaskSeconds).slice(0,10); aaChart('aaTimeChart',{grid:{left:135,right:45,top:8,bottom:20},xAxis:{type:'value',axisLabel:axis(),splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},yAxis:{type:'category',data:timeRows.map(m=>m.shortName||m.name).reverse(),axisLabel:{...axis(),fontSize:10,width:120,overflow:'truncate'}},tooltip:{trigger:'axis',formatter:p=>{const m=timeRows[timeRows.length-1-p[0].dataIndex];return esc(m.name)+'
'+aaNumber(m.timePerTaskSeconds,1)+' seconds';}},series:[{type:'bar',barMaxWidth:14,data:timeRows.map(m=>({value:m.timePerTaskSeconds,itemStyle:{color:palette(m)}})).reverse()}]}); const tokenRows=rows.filter(m=>m.reasoningTokens!=null&&m.answerTokens!=null).slice().sort((a,b)=>(b.outputTokens||0)-(a.outputTokens||0)).slice(0,12); aaChart('aaTokenChart',{legend:{top:2,textStyle:axis()},grid:{left:165,right:35,top:35,bottom:20},xAxis:{type:'value',axisLabel:{...axis(),formatter:v=>aaNumber(v/1000,0)+'k'},splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},yAxis:{type:'category',data:tokenRows.map(m=>m.shortName||m.name).reverse(),axisLabel:{...axis(),fontSize:10,width:150,overflow:'truncate'}},tooltip:{trigger:'axis',axisPointer:{type:'shadow'},formatter:p=>{const m=tokenRows[tokenRows.length-1-p[0].dataIndex];return ''+esc(m.name)+'
Reasoning: '+aaNumber(m.reasoningTokens,0)+'
Answer: '+aaNumber(m.answerTokens,0)+'
Total: '+aaNumber(m.outputTokens,0);}},series:[{name:'Reasoning',type:'bar',stack:'tokens',data:tokenRows.map(m=>m.reasoningTokens).reverse(),itemStyle:{color:'#8e78c8'}},{name:'Answer',type:'bar',stack:'tokens',data:tokenRows.map(m=>m.answerTokens).reverse(),itemStyle:{color:'#6d9eb7'}}]}); const costRows=rows.filter(m=>m.costBreakdown).slice().sort((a,b)=>(b.costPerTaskUSD||0)-(a.costPerTaskUSD||0)).slice(0,12); aaChart('aaCostChart',{legend:{top:2,textStyle:axis()},grid:{left:165,right:40,top:35,bottom:20},xAxis:{type:'value',axisLabel:{...axis(),formatter:v=>' buildOriginalIndex();renderOriginalIndex();renderSummary();renderBenchmarkSelect();renderBenchmark();renderBenchmarkCards();renderCharts(); } function csvCell(v){const x=String(v??'');return '"'+x.replace(/"/g,'""')+'"';} function downloadFile(name,content,type){const blob=new Blob([content],{type});const url=URL.createObjectURL(blob);const a=document.createElement('a');a.href=url;a.download=name;document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(url);} function exportBenchmarkResults(){const b=get(state.benchmark);if(!b)return;const keys=[...new Set(b.models.flatMap(m=>Object.keys(m)))];const lines=[['benchmark','unit',...keys],...b.models.map(m=>[b.name,b.unit,...keys.map(k=>m[k])])].map(row=>row.map(csvCell).join(','));downloadFile('qbench-'+b.id+'.csv','\uFEFF'+lines.join('\r\n'),'text/csv;charset=utf-8');} function exportAllJSON(){downloadFile('qbench-benchmark-data.json',JSON.stringify(state.data,null,2),'application/json;charset=utf-8');} function exportChart(id){const c=echarts.getInstanceByDom($('#'+id));if(!c)return;const a=document.createElement('a');a.href=c.getDataURL({type:'svg',backgroundColor:'#fff'});a.download='qbench-'+id+'.svg';a.click();} $('#indexSearch').addEventListener('input',e=>{state.indexQuery=e.target.value.trim();renderOriginalIndex();}); $('#indexProvider').addEventListener('change',e=>{state.indexProvider=e.target.value;renderOriginalIndex();}); $('#benchmarkSearch').addEventListener('input',e=>{state.benchmarkQuery=e.target.value.trim();renderBenchmark();}); $('#benchmarkProviderFilter').addEventListener('change',e=>{state.benchmarkProvider=e.target.value;renderBenchmark();}); $('#benchmarkSelect').addEventListener('change',e=>{state.benchmark=e.target.value;state.benchmarkProvider='all';renderBenchmark();}); $('#catalogSearch').addEventListener('input',e=>{state.catalogQuery=e.target.value.trim();renderBenchmarkCards();}); $('#catalogGroupFilter').addEventListener('change',e=>{state.catalogGroup=e.target.value;renderBenchmarkCards();}); $('#catalogStatusFilter').addEventListener('change',e=>{state.catalogStatus=e.target.value;renderBenchmarkCards();}); $('#benchmarkCards').addEventListener('click',e=>{const btn=e.target.closest('[data-open-benchmark]');if(!btn)return;state.benchmark=btn.dataset.openBenchmark;state.benchmarkProvider='all';state.benchmarkQuery='';$('#benchmarkSearch').value='';$('#benchmarkSelect').value=state.benchmark;renderBenchmark();$('#leaderboard').scrollIntoView({behavior:'smooth'});}); $('#exportBenchmarkCSV').addEventListener('click',exportBenchmarkResults); $('#exportAllJSON').addEventListener('click',exportAllJSON); $('#themeBtn').addEventListener('click',()=>{const dark=document.documentElement.dataset.theme!=='dark';document.documentElement.dataset.theme=dark?'dark':'light';localStorage.setItem('qbench-theme',dark?'dark':'light');$('#themeBtn').innerHTML=dark?'':'';state.charts.forEach(c=>c.dispose());state.charts=[];renderCharts();}); $('#menuBtn').addEventListener('click',()=>$('#benchmarks').scrollIntoView({behavior:'smooth'})); document.querySelectorAll('.nav a').forEach(a=>a.addEventListener('click',()=>{document.querySelectorAll('.nav a').forEach(x=>x.classList.toggle('active',x===a));})); window.addEventListener('resize',()=>state.charts.forEach(c=>c.resize())); const savedTheme=localStorage.getItem('qbench-theme');if(savedTheme){document.documentElement.dataset.theme=savedTheme;$('#themeBtn').innerHTML=savedTheme==='dark'?'':'';} fetch('./data/external-benchmarks.json').then(r=>{if(!r.ok)throw new Error('Could not load benchmark data ('+r.status+').');return r.json();}).then(async data=>{ if(!Array.isArray(data.benchmarks)||!Array.isArray(data.benchmarkCatalog))throw new Error('Benchmark data schema is incomplete.'); state.data=data;if(document.fonts?.ready)await document.fonts.ready;renderAll(); }).catch(err=>{$('#benchmarkRows').innerHTML=''+esc(err.message)+'';}); })(); +aaNumber(v,1)},splitLine:{lineStyle:{color:'rgba(125,135,145,.16)'}}},yAxis:{type:'category',data:costRows.map(m=>m.shortName||m.name).reverse(),axisLabel:{...axis(),fontSize:10,width:150,overflow:'truncate'}},tooltip:{trigger:'axis',axisPointer:{type:'shadow'},formatter:p=>{const m=costRows[costRows.length-1-p[0].dataIndex];return ''+esc(m.name)+'
'+p.map(x=>x.seriesName+': '+aaMoney(x.value)).join('
')+'
Total: '+aaMoney(m.costPerTaskUSD);}},series:[{name:'Input',type:'bar',stack:'cost',data:costRows.map(m=>m.costBreakdown.input||0).reverse(),itemStyle:{color:'#8297a9'}},{name:'Cache read',type:'bar',stack:'cost',data:costRows.map(m=>m.costBreakdown.cacheRead||0).reverse(),itemStyle:{color:'#7d9f91'}},{name:'Cache write',type:'bar',stack:'cost',data:costRows.map(m=>m.costBreakdown.cacheWrite||0).reverse(),itemStyle:{color:'#d1aa73'}},{name:'Reasoning',type:'bar',stack:'cost',data:costRows.map(m=>m.costBreakdown.reasoning||0).reverse(),itemStyle:{color:'#9a83c7'}},{name:'Answer',type:'bar',stack:'cost',data:costRows.map(m=>m.costBreakdown.answer||0).reverse(),itemStyle:{color:'#c17f83'}}]}); $('#aaModelRows').innerHTML=rows.map((m,i)=>'
'+String(i+1).padStart(2,'0')+''+esc(m.name)+''+(m.openWeights?'Open weights':'Proprietary')+(m.reasoning?' · Reasoning':'')+'
'+esc(m.provider)+''+aaNumber(m.intelligenceIndex,2)+''+aaMoney(m.costPerTaskUSD)+''+(m.timePerTaskSeconds==null?'—':aaNumber(m.timePerTaskSeconds,1)+' s')+''+(m.outputTokens==null?'—':aaNumber(m.outputTokens/1000,1)+'k')+''+aaDate(m.releaseDate)+'').join('')||'No models match these filters.'; const pct=v=>v==null?'—':aaNumber(v*100,1)+'%'; $('#aaEvalRows').innerHTML=rows.map(m=>''+esc(m.name)+''+aaNumber(m.briefcaseElo,1)+''+pct(m.automationBenchPartialScore)+''+pct(m.gdpPdfAllPass)+''+pct(m.frontierCode20)+''+pct(m.terminalBench40)+''+pct(m.terminalBenchScience)+''+pct(m.critptAgenticHard)+''+pct(m.omniscienceAccuracy)+''+pct(m.hleDiamond)+'').join('')||'No models match these filters.'; $('#aaTableFoot').textContent='Showing '+rows.length+' of '+aaState.data.displayedModels+' source-listed models. Cost, speed and token metrics are weighted task-level metrics from AA. Missing source values are not zero-filled.'; } function aaExportCSV(){ const rows=aaModels(),keys=['name','provider','intelligenceIndex','costPerTaskUSD','timePerTaskSeconds','outputTokens','reasoningTokens','answerTokens','medianOutputSpeed','releaseDate','openWeights','reasoning']; const lines=[keys,...rows.map(m=>keys.map(k=>m[k]??''))].map(r=>r.map(v=>'"'+String(v).replace(/"/g,'""')+'"').join(',')); downloadFile('qbench-aa-index-v5-reference.csv','\uFEFF'+lines.join('\r\n'),'text/csv;charset=utf-8'); } function renderAll(){ buildOriginalIndex();renderOriginalIndex();renderSummary();renderBenchmarkSelect();renderBenchmark();renderBenchmarkCards();renderCharts(); } function csvCell(v){const x=String(v??'');return '"'+x.replace(/"/g,'""')+'"';} function downloadFile(name,content,type){const blob=new Blob([content],{type});const url=URL.createObjectURL(blob);const a=document.createElement('a');a.href=url;a.download=name;document.body.appendChild(a);a.click();a.remove();URL.revokeObjectURL(url);} function exportBenchmarkResults(){const b=get(state.benchmark);if(!b)return;const keys=[...new Set(b.models.flatMap(m=>Object.keys(m)))];const lines=[['benchmark','unit',...keys],...b.models.map(m=>[b.name,b.unit,...keys.map(k=>m[k])])].map(row=>row.map(csvCell).join(','));downloadFile('qbench-'+b.id+'.csv','\uFEFF'+lines.join('\r\n'),'text/csv;charset=utf-8');} function exportAllJSON(){downloadFile('qbench-benchmark-data.json',JSON.stringify(state.data,null,2),'application/json;charset=utf-8');} function exportChart(id){const c=echarts.getInstanceByDom($('#'+id));if(!c)return;const a=document.createElement('a');a.href=c.getDataURL({type:'svg',backgroundColor:'#fff'});a.download='qbench-'+id+'.svg';a.click();} $('#indexSearch').addEventListener('input',e=>{state.indexQuery=e.target.value.trim();renderOriginalIndex();}); $('#indexProvider').addEventListener('change',e=>{state.indexProvider=e.target.value;renderOriginalIndex();}); $('#benchmarkSearch').addEventListener('input',e=>{state.benchmarkQuery=e.target.value.trim();renderBenchmark();}); $('#benchmarkProviderFilter').addEventListener('change',e=>{state.benchmarkProvider=e.target.value;renderBenchmark();}); $('#benchmarkSelect').addEventListener('change',e=>{state.benchmark=e.target.value;state.benchmarkProvider='all';renderBenchmark();}); $('#catalogSearch').addEventListener('input',e=>{state.catalogQuery=e.target.value.trim();renderBenchmarkCards();}); $('#catalogGroupFilter').addEventListener('change',e=>{state.catalogGroup=e.target.value;renderBenchmarkCards();}); $('#catalogStatusFilter').addEventListener('change',e=>{state.catalogStatus=e.target.value;renderBenchmarkCards();}); $('#benchmarkCards').addEventListener('click',e=>{const btn=e.target.closest('[data-open-benchmark]');if(!btn)return;state.benchmark=btn.dataset.openBenchmark;state.benchmarkProvider='all';state.benchmarkQuery='';$('#benchmarkSearch').value='';$('#benchmarkSelect').value=state.benchmark;renderBenchmark();$('#leaderboard').scrollIntoView({behavior:'smooth'});}); $('#exportBenchmarkCSV').addEventListener('click',exportBenchmarkResults); $('#exportAllJSON').addEventListener('click',exportAllJSON); $('#themeBtn').addEventListener('click',()=>{const dark=document.documentElement.dataset.theme!=='dark';document.documentElement.dataset.theme=dark?'dark':'light';localStorage.setItem('qbench-theme',dark?'dark':'light');$('#themeBtn').innerHTML=dark?'':'';state.charts.forEach(c=>c.dispose());state.charts=[];renderCharts();}); $('#menuBtn').addEventListener('click',()=>$('#benchmarks').scrollIntoView({behavior:'smooth'})); document.querySelectorAll('.nav a').forEach(a=>a.addEventListener('click',()=>{document.querySelectorAll('.nav a').forEach(x=>x.classList.toggle('active',x===a));})); window.addEventListener('resize',()=>state.charts.forEach(c=>c.resize())); const savedTheme=localStorage.getItem('qbench-theme');if(savedTheme){document.documentElement.dataset.theme=savedTheme;$('#themeBtn').innerHTML=savedTheme==='dark'?'':'';} fetch('./data/external-benchmarks.json').then(r=>{if(!r.ok)throw new Error('Could not load benchmark data ('+r.status+').');return r.json();}).then(async data=>{ if(!Array.isArray(data.benchmarks)||!Array.isArray(data.benchmarkCatalog))throw new Error('Benchmark data schema is incomplete.'); state.data=data;if(document.fonts?.ready)await document.fonts.ready;renderAll(); }).catch(err=>{$('#benchmarkRows').innerHTML=''+esc(err.message)+'';}); })();