appvoid commited on
Commit
ffe1dc5
·
verified ·
1 Parent(s): ed896ad

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +3 -45
index.html CHANGED
@@ -34,7 +34,6 @@
34
  --gradient-info: linear-gradient(135deg, var(--color-info) 0%, #3182ce 100%);
35
  --gradient-warning: linear-gradient(135deg, var(--color-warning) 0%, #dd6b20 100%);
36
  --gradient-danger: linear-gradient(135deg, var(--color-danger) 0%, #e53e3e 100%);
37
-
38
  /* Typography */
39
  --font-family-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
40
  --font-size-base: 16px;
@@ -42,7 +41,6 @@
42
  --font-weight-medium: 500;
43
  --font-weight-semibold: 600;
44
  --font-weight-bold: 700;
45
-
46
  /* Spacing & Sizing */
47
  --spacing-xs: 0.25rem; /* 4px */
48
  --spacing-sm: 0.5rem; /* 8px */
@@ -56,7 +54,6 @@
56
  --transition-duration: 0.3s;
57
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.4);
58
  }
59
-
60
  /*
61
  * =================================================================================================
62
  * 2. GLOBAL STYLES & RESETS
@@ -69,11 +66,9 @@
69
  box-sizing: border-box;
70
  user-select: none;
71
  }
72
-
73
  html {
74
  scroll-behavior: smooth;
75
  }
76
-
77
  body {
78
  font-family: var(--font-family-sans);
79
  background-color: var(--color-background);
@@ -83,12 +78,10 @@
83
  min-height: 100vh;
84
  padding: var(--spacing-xl) var(--spacing-md);
85
  }
86
-
87
  .container {
88
  max-width: var(--container-width);
89
  margin: 0 auto;
90
  }
91
-
92
  /*
93
  * =================================================================================================
94
  * 3. TYPOGRAPHY
@@ -104,24 +97,20 @@
104
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
105
  text-transform: capitalize;
106
  }
107
-
108
  .subtitle-group {
109
  text-align: center;
110
  margin-bottom: var(--spacing-xl);
111
  }
112
-
113
  .subtitle {
114
  color: var(--color-text-secondary);
115
  font-size: 1.1rem;
116
  line-height: 1.5;
117
  }
118
-
119
  .subtitle-meta {
120
  color: #555;
121
  font-size: 0.9rem;
122
  margin-top: var(--spacing-xs);
123
  }
124
-
125
  /*
126
  * =================================================================================================
127
  * 4. TABLE STYLES
@@ -136,13 +125,11 @@
136
  overflow: hidden;
137
  animation: fadeIn 0.6s ease-out;
138
  }
139
-
140
  table {
141
  width: 100%;
142
  border-collapse: collapse;
143
  text-align: left;
144
  }
145
-
146
  thead {
147
  background: var(--gradient-accent);
148
  color: white;
@@ -151,7 +138,6 @@
151
  top: 0;
152
  z-index: 10;
153
  }
154
-
155
  th {
156
  padding: var(--spacing-md);
157
  font-weight: var(--font-weight-semibold);
@@ -161,26 +147,21 @@
161
  text-align: center;
162
  user-select: none; /* Good place for this, prevents selecting header text by accident */
163
  }
164
-
165
  th:first-child, td:first-child { text-align: center; }
166
  th:last-child, td:last-child { text-align: center; }
167
-
168
  tbody tr {
169
  border-bottom: 1px solid var(--color-border);
170
  /* IMPROVEMENT: Transition specific properties for better performance than 'all' */
171
  transition: background-color var(--transition-duration) ease, transform var(--transition-duration) ease;
172
  }
173
-
174
  tbody tr:hover {
175
  background-color: rgba(255, 255, 255, 0.03);
176
  /* IMPROVEMENT: 'translateY' is often smoother and less jarring than 'scale' */
177
  transform: translateY(-2px);
178
  }
179
-
180
  tbody tr:last-child {
181
  border-bottom: none;
182
  }
183
-
184
  td {
185
  padding: var(--spacing-lg) var(--spacing-md);
186
  font-size: 0.95rem;
@@ -196,21 +177,18 @@
196
  background-clip: text;
197
  padding-right: var(--spacing-sm);
198
  }
199
-
200
  .model-name {
201
  text-align: center;
202
  font-weight: var(--font-weight-semibold);
203
  color: var(--color-text-primary);
204
  font-size: 1rem;
205
  }
206
-
207
  .score {
208
  font-weight: var(--font-weight-bold);
209
  font-size: 0.9rem;
210
  text-align: center;
211
  color: var(--color-text-secondary);
212
  }
213
-
214
  .progress-container {
215
  width: 100%;
216
  height: 8px;
@@ -219,24 +197,20 @@
219
  overflow: hidden;
220
  margin-top: var(--spacing-sm);
221
  }
222
-
223
  .progress-bar {
224
  height: 100%;
225
  background: white;
226
  border-radius: 99px;
227
  animation: fillBar 1.5s cubic-bezier(0.25, 1, 0.5, 1); /* Use a more dynamic easing function */
228
  }
229
-
230
  .performance-notes { font-size: 0.85rem; line-height: 1.5; }
231
 
232
  /* IMPROVEMENT: DRY principle. Shared styles for strengths/weaknesses. */
233
  .strengths, .weaknesses {
234
  font-weight: var(--font-weight-medium);
235
  }
236
-
237
  .strengths { color: var(--color-success); }
238
  .weaknesses { color: var(--color-danger); }
239
-
240
  /*
241
  * =================================================================================================
242
  * 5. COMPONENTS (Badges & Legend)
@@ -256,13 +230,11 @@
256
  color: white;
257
  white-space: nowrap;
258
  }
259
-
260
  /* Modifier classes for colors */
261
  .badge--excellent { background: var(--gradient-success); }
262
  .badge--good { background: var(--gradient-info); }
263
  .badge--average { background: var(--gradient-warning); }
264
  .badge--poor { background: var(--gradient-danger); }
265
-
266
  .legend {
267
  display: flex;
268
  justify-content: center;
@@ -270,20 +242,17 @@
270
  margin-top: var(--spacing-xl);
271
  flex-wrap: wrap;
272
  }
273
-
274
  .legend-item {
275
  display: flex;
276
  align-items: center;
277
  gap: var(--spacing-sm);
278
  font-size: 0.9rem;
279
  }
280
-
281
  .legend-color {
282
  width: 30px;
283
  height: 8px;
284
  border-radius: 4px;
285
  }
286
-
287
  /*
288
  * =================================================================================================
289
  * 6. ANIMATIONS & MEDIA QUERIES
@@ -293,11 +262,9 @@
293
  from { opacity: 0; transform: translateY(20px); }
294
  to { opacity: 1; transform: translateY(0); }
295
  }
296
-
297
  @keyframes fillBar {
298
  from { width: 0; }
299
  }
300
-
301
  /* Responsive adjustments */
302
  @media (max-width: 768px) {
303
  body { padding: var(--spacing-xl) var(--spacing-sm); }
@@ -305,22 +272,18 @@
305
  h1 { font-size: clamp(1.6rem, 7vw, 2rem); }
306
 
307
  .subtitle { font-size: 1rem; }
308
-
309
  th, td {
310
  padding: var(--spacing-md) var(--spacing-sm);
311
  font-size: 0.85rem;
312
  }
313
-
314
  .table-wrapper {
315
  /* On mobile, allow the table itself to scroll horizontally */
316
  overflow-x: auto;
317
  }
318
-
319
  table {
320
  /* Ensure table has a minimum width to make scrolling meaningful */
321
  min-width: 600px;
322
  }
323
-
324
  .legend {
325
  flex-direction: column;
326
  align-items: center;
@@ -396,24 +359,20 @@
396
  { rank: 15, name: "Llama-3.2-SUN-HDIC-1B-Instruct.Q8_0.gguf", score: 79, strengths: "Strong in synonyms, math, and factual recall; decent at core NLP.", weaknesses: "Complete failure at summarization and misconception correction; bad factual hallucinations." },
397
  { rank: 16, name: "Piaget-0.6B.Q8_0.gguf", score: 78, strengths: "Excellent at core knowledge tasks: Sentiment, Object Location, Antonyms, Categorization, Math, Factual QA.", weaknesses: "Complete failure at Summarization, Sequencing, and Rhyming. Very poor at Grammar and Misconception Correction." },
398
  { rank: 17, name: "lfm2-700m", score: 75.5, strengths: "Handles sentiment, math, and logic correctly.", weaknesses: "Many failures in reasoning (cause/effect), tool use, synonyms, and grammar." },
399
- { rank: 18, name: "Qwen3-psychological-reasoning-0.6B.Q8_0.gguf", score: 73, strengths: "Excels at factual recall and classification (Sentiment, Object Location, Math, Factual QA, NER).", weaknesses: "Very poor at reasoning and creativity; complete failure in summarization, sequencing, and rhyming." },
400
- { rank: 19, name: "qwen2.5-0.5b-instruct", score: 72, strengths: "Decent at math, basic commands, and some logic.", weaknesses: "Fails creative tasks (rhyming, synonyms) and suffers major headline hallucinations." },
401
- { rank: 20, name: "qwen3-0.6b-notetaker-q8_0.gguf", score: 71, strengths: "Excels at a wide range of core knowledge and classification tasks (sentiment, math, NER, factual QA).", weaknesses: "Complete failure at complex reasoning, creativity, and nuanced language (cause/effect, idioms, sequencing)." }
402
  ];
403
-
404
  const maxScore = 125;
405
-
406
  function getRatingBadge(score) {
407
  if (score >= 108) return '<span class="badge badge--excellent">Excellent</span>';
408
  if (score >= 91) return '<span class="badge badge--good">Good</span>';
409
  if (score >= 75) return '<span class="badge badge--average">Average</span>';
410
  return '<span class="badge badge--poor">Poor</span>';
411
  }
412
-
413
  function populateTable() {
414
  const tbody = document.querySelector('#performanceTable tbody');
415
  const top20Models = models.slice(0, 20);
416
-
417
  top20Models.forEach((model, index) => {
418
  const percentage = (model.score / maxScore) * 100;
419
  const row = document.createElement('tr');
@@ -439,7 +398,6 @@
439
  tbody.appendChild(row);
440
  });
441
  }
442
-
443
  document.addEventListener('DOMContentLoaded', populateTable);
444
  </script>
445
  </body>
 
34
  --gradient-info: linear-gradient(135deg, var(--color-info) 0%, #3182ce 100%);
35
  --gradient-warning: linear-gradient(135deg, var(--color-warning) 0%, #dd6b20 100%);
36
  --gradient-danger: linear-gradient(135deg, var(--color-danger) 0%, #e53e3e 100%);
 
37
  /* Typography */
38
  --font-family-sans: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
39
  --font-size-base: 16px;
 
41
  --font-weight-medium: 500;
42
  --font-weight-semibold: 600;
43
  --font-weight-bold: 700;
 
44
  /* Spacing & Sizing */
45
  --spacing-xs: 0.25rem; /* 4px */
46
  --spacing-sm: 0.5rem; /* 8px */
 
54
  --transition-duration: 0.3s;
55
  --shadow-lg: 0 20px 60px rgba(0, 0, 0, 0.4);
56
  }
 
57
  /*
58
  * =================================================================================================
59
  * 2. GLOBAL STYLES & RESETS
 
66
  box-sizing: border-box;
67
  user-select: none;
68
  }
 
69
  html {
70
  scroll-behavior: smooth;
71
  }
 
72
  body {
73
  font-family: var(--font-family-sans);
74
  background-color: var(--color-background);
 
78
  min-height: 100vh;
79
  padding: var(--spacing-xl) var(--spacing-md);
80
  }
 
81
  .container {
82
  max-width: var(--container-width);
83
  margin: 0 auto;
84
  }
 
85
  /*
86
  * =================================================================================================
87
  * 3. TYPOGRAPHY
 
97
  text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
98
  text-transform: capitalize;
99
  }
 
100
  .subtitle-group {
101
  text-align: center;
102
  margin-bottom: var(--spacing-xl);
103
  }
 
104
  .subtitle {
105
  color: var(--color-text-secondary);
106
  font-size: 1.1rem;
107
  line-height: 1.5;
108
  }
 
109
  .subtitle-meta {
110
  color: #555;
111
  font-size: 0.9rem;
112
  margin-top: var(--spacing-xs);
113
  }
 
114
  /*
115
  * =================================================================================================
116
  * 4. TABLE STYLES
 
125
  overflow: hidden;
126
  animation: fadeIn 0.6s ease-out;
127
  }
 
128
  table {
129
  width: 100%;
130
  border-collapse: collapse;
131
  text-align: left;
132
  }
 
133
  thead {
134
  background: var(--gradient-accent);
135
  color: white;
 
138
  top: 0;
139
  z-index: 10;
140
  }
 
141
  th {
142
  padding: var(--spacing-md);
143
  font-weight: var(--font-weight-semibold);
 
147
  text-align: center;
148
  user-select: none; /* Good place for this, prevents selecting header text by accident */
149
  }
 
150
  th:first-child, td:first-child { text-align: center; }
151
  th:last-child, td:last-child { text-align: center; }
 
152
  tbody tr {
153
  border-bottom: 1px solid var(--color-border);
154
  /* IMPROVEMENT: Transition specific properties for better performance than 'all' */
155
  transition: background-color var(--transition-duration) ease, transform var(--transition-duration) ease;
156
  }
 
157
  tbody tr:hover {
158
  background-color: rgba(255, 255, 255, 0.03);
159
  /* IMPROVEMENT: 'translateY' is often smoother and less jarring than 'scale' */
160
  transform: translateY(-2px);
161
  }
 
162
  tbody tr:last-child {
163
  border-bottom: none;
164
  }
 
165
  td {
166
  padding: var(--spacing-lg) var(--spacing-md);
167
  font-size: 0.95rem;
 
177
  background-clip: text;
178
  padding-right: var(--spacing-sm);
179
  }
 
180
  .model-name {
181
  text-align: center;
182
  font-weight: var(--font-weight-semibold);
183
  color: var(--color-text-primary);
184
  font-size: 1rem;
185
  }
 
186
  .score {
187
  font-weight: var(--font-weight-bold);
188
  font-size: 0.9rem;
189
  text-align: center;
190
  color: var(--color-text-secondary);
191
  }
 
192
  .progress-container {
193
  width: 100%;
194
  height: 8px;
 
197
  overflow: hidden;
198
  margin-top: var(--spacing-sm);
199
  }
 
200
  .progress-bar {
201
  height: 100%;
202
  background: white;
203
  border-radius: 99px;
204
  animation: fillBar 1.5s cubic-bezier(0.25, 1, 0.5, 1); /* Use a more dynamic easing function */
205
  }
 
206
  .performance-notes { font-size: 0.85rem; line-height: 1.5; }
207
 
208
  /* IMPROVEMENT: DRY principle. Shared styles for strengths/weaknesses. */
209
  .strengths, .weaknesses {
210
  font-weight: var(--font-weight-medium);
211
  }
 
212
  .strengths { color: var(--color-success); }
213
  .weaknesses { color: var(--color-danger); }
 
214
  /*
215
  * =================================================================================================
216
  * 5. COMPONENTS (Badges & Legend)
 
230
  color: white;
231
  white-space: nowrap;
232
  }
 
233
  /* Modifier classes for colors */
234
  .badge--excellent { background: var(--gradient-success); }
235
  .badge--good { background: var(--gradient-info); }
236
  .badge--average { background: var(--gradient-warning); }
237
  .badge--poor { background: var(--gradient-danger); }
 
238
  .legend {
239
  display: flex;
240
  justify-content: center;
 
242
  margin-top: var(--spacing-xl);
243
  flex-wrap: wrap;
244
  }
 
245
  .legend-item {
246
  display: flex;
247
  align-items: center;
248
  gap: var(--spacing-sm);
249
  font-size: 0.9rem;
250
  }
 
251
  .legend-color {
252
  width: 30px;
253
  height: 8px;
254
  border-radius: 4px;
255
  }
 
256
  /*
257
  * =================================================================================================
258
  * 6. ANIMATIONS & MEDIA QUERIES
 
262
  from { opacity: 0; transform: translateY(20px); }
263
  to { opacity: 1; transform: translateY(0); }
264
  }
 
265
  @keyframes fillBar {
266
  from { width: 0; }
267
  }
 
268
  /* Responsive adjustments */
269
  @media (max-width: 768px) {
270
  body { padding: var(--spacing-xl) var(--spacing-sm); }
 
272
  h1 { font-size: clamp(1.6rem, 7vw, 2rem); }
273
 
274
  .subtitle { font-size: 1rem; }
 
275
  th, td {
276
  padding: var(--spacing-md) var(--spacing-sm);
277
  font-size: 0.85rem;
278
  }
 
279
  .table-wrapper {
280
  /* On mobile, allow the table itself to scroll horizontally */
281
  overflow-x: auto;
282
  }
 
283
  table {
284
  /* Ensure table has a minimum width to make scrolling meaningful */
285
  min-width: 600px;
286
  }
 
287
  .legend {
288
  flex-direction: column;
289
  align-items: center;
 
359
  { rank: 15, name: "Llama-3.2-SUN-HDIC-1B-Instruct.Q8_0.gguf", score: 79, strengths: "Strong in synonyms, math, and factual recall; decent at core NLP.", weaknesses: "Complete failure at summarization and misconception correction; bad factual hallucinations." },
360
  { rank: 16, name: "Piaget-0.6B.Q8_0.gguf", score: 78, strengths: "Excellent at core knowledge tasks: Sentiment, Object Location, Antonyms, Categorization, Math, Factual QA.", weaknesses: "Complete failure at Summarization, Sequencing, and Rhyming. Very poor at Grammar and Misconception Correction." },
361
  { rank: 17, name: "lfm2-700m", score: 75.5, strengths: "Handles sentiment, math, and logic correctly.", weaknesses: "Many failures in reasoning (cause/effect), tool use, synonyms, and grammar." },
362
+ { rank: 18, name: "granite-4.0-350m-q8_0.gguf", score: 75.0, strengths: "Perfect translation and math; strong vocabulary (synonyms/antonyms) and common-sense knowledge.", weaknesses: "Complete failure on grammar correction; severe factual hallucinations in summarization; weak sequencing." },
363
+ { rank: 19, name: "Qwen3-psychological-reasoning-0.6B.Q8_0.gguf", score: 73, strengths: "Excels at factual recall and classification (Sentiment, Object Location, Math, Factual QA, NER).", weaknesses: "Very poor at reasoning and creativity; complete failure in summarization, sequencing, and rhyming." },
364
+ { rank: 20, name: "qwen2.5-0.5b-instruct", score: 72, strengths: "Decent at math, basic commands, and some logic.", weaknesses: "Fails creative tasks (rhyming, synonyms) and suffers major headline hallucinations." }
365
  ];
 
366
  const maxScore = 125;
 
367
  function getRatingBadge(score) {
368
  if (score >= 108) return '<span class="badge badge--excellent">Excellent</span>';
369
  if (score >= 91) return '<span class="badge badge--good">Good</span>';
370
  if (score >= 75) return '<span class="badge badge--average">Average</span>';
371
  return '<span class="badge badge--poor">Poor</span>';
372
  }
 
373
  function populateTable() {
374
  const tbody = document.querySelector('#performanceTable tbody');
375
  const top20Models = models.slice(0, 20);
 
376
  top20Models.forEach((model, index) => {
377
  const percentage = (model.score / maxScore) * 100;
378
  const row = document.createElement('tr');
 
398
  tbody.appendChild(row);
399
  });
400
  }
 
401
  document.addEventListener('DOMContentLoaded', populateTable);
402
  </script>
403
  </body>