simonko912 commited on
Commit
9eae420
·
verified ·
1 Parent(s): 532ae85

Create app.js

Browse files
Files changed (1) hide show
  1. app.js +111 -0
app.js ADDED
@@ -0,0 +1,111 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ let models = [];
2
+ let descending = true;
3
+
4
+ const table = document.getElementById("leaderboard");
5
+ const sortSelect = document.getElementById("sortSelect");
6
+ const directionButton = document.getElementById("direction");
7
+
8
+
9
+ fetch("models.json")
10
+ .then(response => response.json())
11
+ .then(data => {
12
+ models = data;
13
+ render();
14
+ });
15
+
16
+
17
+ function formatParams(num) {
18
+ if (num >= 1e9)
19
+ return (num / 1e9).toFixed(1) + "B";
20
+
21
+ return (num / 1e6).toFixed(0) + "M";
22
+ }
23
+
24
+
25
+ function render() {
26
+
27
+ const sort = sortSelect.value;
28
+
29
+ let sorted = [...models];
30
+
31
+ sorted.forEach(model => {
32
+ model.efficiency = model.parameters / model.overall;
33
+ });
34
+
35
+
36
+ sorted.sort((a, b) => {
37
+
38
+ let result;
39
+
40
+ if (sort === "parameters")
41
+ result = a.parameters - b.parameters;
42
+
43
+ else if (sort === "ctx")
44
+ result = a.ctx - b.ctx;
45
+
46
+ else if (sort === "efficiency")
47
+ result = a.efficiency - b.efficiency;
48
+
49
+ else
50
+ result = a[sort] - b[sort];
51
+
52
+
53
+ return descending ? -result : result;
54
+ });
55
+
56
+
57
+ table.innerHTML = "";
58
+
59
+
60
+ sorted.forEach((model, index) => {
61
+
62
+ const row = document.createElement("tr");
63
+
64
+ row.innerHTML = `
65
+ <td>${index + 1}</td>
66
+ <td>${model.parameters_display || formatParams(model.parameters)}</td>
67
+ <td>${model.ctx}</td>
68
+
69
+ <td>
70
+ ${(model.efficiency / 1000000).toFixed(2)}M
71
+ </td>
72
+
73
+ <td>${model.overall.toFixed(2)}</td>
74
+ <td>${model.knowledge.toFixed(2)}</td>
75
+ <td>${model.reasoning.toFixed(2)}</td>
76
+ <td>${model.instructions.toFixed(2)}</td>
77
+ <td>${model.coding.toFixed(2)}</td>
78
+ <td>${model.math.toFixed(2)}</td>
79
+
80
+ <td>
81
+ <a href="${model.hf}" target="_blank">
82
+ 🤗 HF
83
+ </a>
84
+ </td>
85
+ `;
86
+
87
+ table.appendChild(row);
88
+ });
89
+ }
90
+
91
+
92
+ sortSelect.addEventListener(
93
+ "change",
94
+ render
95
+ );
96
+
97
+
98
+ directionButton.addEventListener(
99
+ "click",
100
+ () => {
101
+
102
+ descending = !descending;
103
+
104
+ directionButton.textContent =
105
+ descending
106
+ ? "↓ Descending"
107
+ : "↑ Ascending";
108
+
109
+ render();
110
+ }
111
+ );