fix(leaderboard): use Qwen logo for Qwen models

#4
assets/logos/README.md CHANGED
@@ -1,9 +1,10 @@
1
  # Provider logo assets
2
 
3
- These SVG icons were copied from the Simple Icons 15.15.0 release:
4
 
5
  - Google: https://github.com/simple-icons/simple-icons/blob/15.15.0/icons/google.svg
6
- - Alibaba Cloud: https://github.com/simple-icons/simple-icons/blob/15.15.0/icons/alibabacloud.svg
7
  - OpenAI: https://github.com/simple-icons/simple-icons/blob/15.15.0/icons/openai.svg
8
 
9
- Simple Icons distributes its icon artwork under CC0 1.0. This does not grant trademark rights. AVI-Bench uses these marks only to identify the providers of the listed models, at equal visual weight and without implying endorsement or affiliation. See each provider's current brand guidelines for its trademark terms.
 
 
 
1
  # Provider logo assets
2
 
3
+ Google and OpenAI SVG icons were copied from the Simple Icons 15.15.0 release:
4
 
5
  - Google: https://github.com/simple-icons/simple-icons/blob/15.15.0/icons/google.svg
 
6
  - OpenAI: https://github.com/simple-icons/simple-icons/blob/15.15.0/icons/openai.svg
7
 
8
+ The Qwen mark in `qwen.jpg` is the official artwork linked from the [QwenLM/Qwen repository](https://github.com/QwenLM/Qwen) and hosted at https://qianwen-res.oss-cn-beijing.aliyuncs.com/logo_qwen.jpg. It is included only to identify the Qwen model provider; applicable trademark rights remain with their owner.
9
+
10
+ Simple Icons distributes the Google and OpenAI icon artwork under CC0 1.0; this does not grant trademark rights. AVI-Bench uses all marks only to identify the listed model providers, at equal visual weight and without implying endorsement or affiliation. See each provider's current brand guidelines for its trademark terms.
assets/logos/alibabacloud.svg DELETED
assets/logos/qwen.jpg ADDED
data/archive/paper-results.json CHANGED
@@ -76,7 +76,7 @@
76
  {
77
  "id": "qwen-omni-turbo-paper-2606-07643",
78
  "model_name": "Qwen-Omni-Turbo",
79
- "provider": "Alibaba Cloud",
80
  "model_id": "Qwen-Omni-Turbo (paper label)",
81
  "benchmark_version": "paper-2606.07643",
82
  "source": {
 
76
  {
77
  "id": "qwen-omni-turbo-paper-2606-07643",
78
  "model_name": "Qwen-Omni-Turbo",
79
+ "provider": "Qwen",
80
  "model_id": "Qwen-Omni-Turbo (paper label)",
81
  "benchmark_version": "paper-2606.07643",
82
  "source": {
data/results.json CHANGED
@@ -40,7 +40,7 @@
40
  {
41
  "id": "qwen2-5-omni-paper-2606-07643",
42
  "model_name": "Qwen2.5-Omni",
43
- "provider": "Alibaba Cloud",
44
  "model_id": "Qwen2.5-Omni (paper label)",
45
  "benchmark_version": "paper-2606.07643",
46
  "source": {
 
40
  {
41
  "id": "qwen2-5-omni-paper-2606-07643",
42
  "model_name": "Qwen2.5-Omni",
43
+ "provider": "Qwen",
44
  "model_id": "Qwen2.5-Omni (paper label)",
45
  "benchmark_version": "paper-2606.07643",
46
  "source": {
index.html CHANGED
@@ -113,7 +113,7 @@
113
  }
114
  .table-scroll { overflow-x: auto; }
115
  table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 12px; }
116
- th, td { padding: 12px 13px; border-bottom: 1px solid var(--line); text-align: right; white-space: nowrap; }
117
  th {
118
  height: 42px;
119
  background: #fafbfc;
@@ -122,14 +122,14 @@
122
  font-weight: 700;
123
  letter-spacing: .035em;
124
  }
125
- th:first-child, td:first-child { width: 58px; text-align: center; }
126
  th:nth-child(2), td:nth-child(2) { min-width: 225px; text-align: left; }
127
  tbody tr.data-row:hover td { background: #fbfcfe; }
128
  tbody tr:last-child td { border-bottom: 0; }
129
  .sort-button {
130
  display: inline-flex;
131
  align-items: center;
132
- justify-content: flex-end;
133
  gap: 5px;
134
  padding: 0;
135
  border: 0;
@@ -142,7 +142,7 @@
142
  text-transform: inherit;
143
  cursor: pointer;
144
  }
145
- th:first-child .sort-button, th:nth-child(2) .sort-button { justify-content: flex-start; }
146
  .sort-button:hover, .sort-button[aria-sort] { color: var(--accent); }
147
  .sort-mark { width: 9px; color: #a2aab7; font-size: 10px; }
148
  .sort-button[aria-sort="ascending"] .sort-mark,
@@ -160,22 +160,16 @@
160
  background: #fff;
161
  }
162
  .provider-logo img { display: block; width: 19px; height: 19px; object-fit: contain; }
 
 
163
  .provider-fallback { color: var(--muted); font-size: 10px; font-weight: 750; }
164
  .model-info { min-width: 0; }
165
  .model-name { display: block; overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 700; text-overflow: ellipsis; }
166
  .model-provider { display: block; margin-top: 1px; color: var(--muted); font-size: 10px; }
167
- .model-actions { display: flex; align-items: center; gap: 9px; margin-top: 3px; }
168
- .details-toggle { padding: 0; border: 0; background: transparent; color: var(--accent); font-size: 10px; cursor: pointer; }
169
- .details-toggle:hover { text-decoration: underline; }
170
  .score { color: #3b4658; font-variant-numeric: tabular-nums; }
171
  .score-overall { color: var(--accent); font-size: 12px; font-weight: 750; }
172
  .empty-cell, .error-cell { padding: 24px; color: var(--muted); text-align: center !important; }
173
  .error-cell { color: #9a3535; }
174
- .details-row td { padding: 0; text-align: left; white-space: normal; }
175
- .details-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; padding: 16px 20px; background: #fafbfc; }
176
- .detail-group h3 { margin: 0 0 6px; color: #677286; font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
177
- .detail-group p { margin: 3px 0; color: #465268; font-size: 11px; overflow-wrap: anywhere; }
178
- .detail-group a { color: var(--accent); }
179
  .provenance-note {
180
  display: flex;
181
  justify-content: space-between;
@@ -208,7 +202,6 @@
208
  .section-heading { align-items: start; flex-direction: column; gap: 4px; }
209
  .record-count { align-self: start; }
210
  .score-section + .score-section { margin-top: 30px; }
211
- .details-panel { grid-template-columns: 1fr 1fr; }
212
  .provenance-note { flex-direction: column; gap: 5px; }
213
  }
214
  @media (max-width: 430px) {
@@ -216,7 +209,6 @@
216
  .top-actions { gap: 9px; }
217
  .submit-link { min-height: 33px; padding: 0 9px; font-size: 11px; }
218
  h1 { font-size: 31px; }
219
- .details-panel { grid-template-columns: 1fr; gap: 12px; }
220
  .footer-inner { align-items: start; flex-direction: column; justify-content: center; padding: 12px 0; }
221
  }
222
  </style>
@@ -311,7 +303,7 @@
311
 
312
  var LOGO_BY_PROVIDER = {
313
  google: "./assets/logos/google.svg",
314
- "alibaba cloud": "./assets/logos/alibabacloud.svg",
315
  openai: "./assets/logos/openai.svg"
316
  };
317
  var TABLES = [
@@ -396,6 +388,7 @@
396
  var source = LOGO_BY_PROVIDER[key];
397
  var wrapper = document.createElement("span");
398
  wrapper.className = source ? "provider-logo" : "provider-fallback";
 
399
  wrapper.setAttribute("aria-hidden", "true");
400
  if (source) {
401
  var image = document.createElement("img");
@@ -415,7 +408,7 @@
415
  return wrapper;
416
  }
417
 
418
- function createModelCell(entry, row, columnCount) {
419
  var cell = document.createElement("td");
420
  var content = document.createElement("div");
421
  content.className = "model-cell";
@@ -429,83 +422,13 @@
429
  var provider = document.createElement("span");
430
  provider.className = "model-provider";
431
  provider.textContent = entry.provider;
432
- var actions = document.createElement("div");
433
- actions.className = "model-actions";
434
- var toggle = document.createElement("button");
435
- toggle.className = "details-toggle";
436
- toggle.type = "button";
437
- toggle.textContent = "Details";
438
- toggle.setAttribute("aria-expanded", "false");
439
- toggle.addEventListener("click", function () {
440
- var next = row.nextElementSibling;
441
- if (next && next.classList.contains("details-row")) {
442
- next.remove();
443
- toggle.setAttribute("aria-expanded", "false");
444
- return;
445
- }
446
- row.after(createDetailsRow(entry, columnCount));
447
- toggle.setAttribute("aria-expanded", "true");
448
- });
449
- actions.appendChild(toggle);
450
  info.appendChild(name);
451
  info.appendChild(provider);
452
- info.appendChild(actions);
453
  content.appendChild(info);
454
  cell.appendChild(content);
455
  return cell;
456
  }
457
 
458
- function addDetailGroup(container, headingText, lines) {
459
- var group = document.createElement("div");
460
- group.className = "detail-group";
461
- var heading = document.createElement("h3");
462
- heading.textContent = headingText;
463
- group.appendChild(heading);
464
- lines.forEach(function (line) {
465
- var paragraph = document.createElement("p");
466
- paragraph.textContent = line;
467
- group.appendChild(paragraph);
468
- });
469
- container.appendChild(group);
470
- }
471
-
472
- function createDetailsRow(entry, columnCount) {
473
- var row = document.createElement("tr");
474
- row.className = "details-row";
475
- var cell = document.createElement("td");
476
- cell.colSpan = columnCount;
477
- var panel = document.createElement("div");
478
- panel.className = "details-panel";
479
- var coverage = entry.coverage || {};
480
- var sampleLine = coverage.samples_total === null || coverage.samples_total === undefined
481
- ? "Sample count not reported"
482
- : String(coverage.samples_completed) + " / " + String(coverage.samples_total) + " samples";
483
- addDetailGroup(panel, "Evaluation", [
484
- "Model ID: " + String(entry.model_id || "—"),
485
- "Benchmark: " + String(entry.benchmark_version || "—"),
486
- "Evaluation date: " + String(entry.evaluation_date || "Not reported"),
487
- "Task coverage: " + String(coverage.tasks_completed) + " / " + String(coverage.tasks_total) + " tasks",
488
- sampleLine
489
- ]);
490
- var stageScores = Object.keys(entry.scores.stages || {}).map(function (key) {
491
- return key + " " + formatScore(entry.scores.stages[key]);
492
- });
493
- var taxonomyScores = Object.keys(entry.scores.taxonomy || {}).map(function (key) {
494
- return key.toUpperCase() + " " + formatScore(entry.scores.taxonomy[key]);
495
- });
496
- addDetailGroup(panel, "Scores", [
497
- "Overall: " + formatScore(entry.scores.overall),
498
- stageScores.length ? "Stages: " + stageScores.join(" · ") : "No stage scores reported",
499
- taxonomyScores.length ? "Taxonomy: " + taxonomyScores.join(" · ") : "No taxonomy scores reported"
500
- ]);
501
- addDetailGroup(panel, "Notes", [
502
- entry.notes || "No additional notes."
503
- ]);
504
- cell.appendChild(panel);
505
- row.appendChild(cell);
506
- return row;
507
- }
508
-
509
  function renderHeader(table) {
510
  var header = document.querySelector("#" + table.id + " thead tr");
511
  header.replaceChildren();
@@ -563,7 +486,7 @@
563
  if (column.kind === "rank") {
564
  row.appendChild(makeCell(String(index + 1), "rank-value"));
565
  } else if (column.kind === "model") {
566
- row.appendChild(createModelCell(entry, row, table.columns.length));
567
  } else {
568
  var value = readPath(entry, column.path);
569
  var classes = column.key === "overall" ? "score score-overall" : "score";
 
113
  }
114
  .table-scroll { overflow-x: auto; }
115
  table { width: 100%; min-width: 820px; border-collapse: collapse; font-size: 12px; }
116
+ th, td { padding: 12px 13px; border-bottom: 1px solid var(--line); text-align: center; white-space: nowrap; }
117
  th {
118
  height: 42px;
119
  background: #fafbfc;
 
122
  font-weight: 700;
123
  letter-spacing: .035em;
124
  }
125
+ th:first-child, td:first-child { width: 58px; }
126
  th:nth-child(2), td:nth-child(2) { min-width: 225px; text-align: left; }
127
  tbody tr.data-row:hover td { background: #fbfcfe; }
128
  tbody tr:last-child td { border-bottom: 0; }
129
  .sort-button {
130
  display: inline-flex;
131
  align-items: center;
132
+ justify-content: center;
133
  gap: 5px;
134
  padding: 0;
135
  border: 0;
 
142
  text-transform: inherit;
143
  cursor: pointer;
144
  }
145
+ th:nth-child(2) .sort-button { justify-content: flex-start; }
146
  .sort-button:hover, .sort-button[aria-sort] { color: var(--accent); }
147
  .sort-mark { width: 9px; color: #a2aab7; font-size: 10px; }
148
  .sort-button[aria-sort="ascending"] .sort-mark,
 
160
  background: #fff;
161
  }
162
  .provider-logo img { display: block; width: 19px; height: 19px; object-fit: contain; }
163
+ .provider-logo-qwen { overflow: hidden; }
164
+ .provider-logo-qwen img { width: 22px; height: 20px; object-fit: cover; object-position: left center; }
165
  .provider-fallback { color: var(--muted); font-size: 10px; font-weight: 750; }
166
  .model-info { min-width: 0; }
167
  .model-name { display: block; overflow: hidden; color: var(--ink); font-size: 12px; font-weight: 700; text-overflow: ellipsis; }
168
  .model-provider { display: block; margin-top: 1px; color: var(--muted); font-size: 10px; }
 
 
 
169
  .score { color: #3b4658; font-variant-numeric: tabular-nums; }
170
  .score-overall { color: var(--accent); font-size: 12px; font-weight: 750; }
171
  .empty-cell, .error-cell { padding: 24px; color: var(--muted); text-align: center !important; }
172
  .error-cell { color: #9a3535; }
 
 
 
 
 
173
  .provenance-note {
174
  display: flex;
175
  justify-content: space-between;
 
202
  .section-heading { align-items: start; flex-direction: column; gap: 4px; }
203
  .record-count { align-self: start; }
204
  .score-section + .score-section { margin-top: 30px; }
 
205
  .provenance-note { flex-direction: column; gap: 5px; }
206
  }
207
  @media (max-width: 430px) {
 
209
  .top-actions { gap: 9px; }
210
  .submit-link { min-height: 33px; padding: 0 9px; font-size: 11px; }
211
  h1 { font-size: 31px; }
 
212
  .footer-inner { align-items: start; flex-direction: column; justify-content: center; padding: 12px 0; }
213
  }
214
  </style>
 
303
 
304
  var LOGO_BY_PROVIDER = {
305
  google: "./assets/logos/google.svg",
306
+ qwen: "./assets/logos/qwen.jpg",
307
  openai: "./assets/logos/openai.svg"
308
  };
309
  var TABLES = [
 
388
  var source = LOGO_BY_PROVIDER[key];
389
  var wrapper = document.createElement("span");
390
  wrapper.className = source ? "provider-logo" : "provider-fallback";
391
+ if (source && key === "qwen") wrapper.classList.add("provider-logo-qwen");
392
  wrapper.setAttribute("aria-hidden", "true");
393
  if (source) {
394
  var image = document.createElement("img");
 
408
  return wrapper;
409
  }
410
 
411
+ function createModelCell(entry) {
412
  var cell = document.createElement("td");
413
  var content = document.createElement("div");
414
  content.className = "model-cell";
 
422
  var provider = document.createElement("span");
423
  provider.className = "model-provider";
424
  provider.textContent = entry.provider;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
425
  info.appendChild(name);
426
  info.appendChild(provider);
 
427
  content.appendChild(info);
428
  cell.appendChild(content);
429
  return cell;
430
  }
431
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
432
  function renderHeader(table) {
433
  var header = document.querySelector("#" + table.id + " thead tr");
434
  header.replaceChildren();
 
486
  if (column.kind === "rank") {
487
  row.appendChild(makeCell(String(index + 1), "rank-value"));
488
  } else if (column.kind === "model") {
489
+ row.appendChild(createModelCell(entry));
490
  } else {
491
  var value = readPath(entry, column.path);
492
  var classes = column.key === "overall" ? "score score-overall" : "score";