Skip to content

Commit 9b418ed

Browse files
feat(dashboard): append total parameter count to each Model dropdown label
Users browsing the Model dropdown on /inference, /historical, the calculator, etc. now see model scale alongside the name. Same pattern Llama and gpt-oss already use (the size is part of the canonical name) — extended to the other models: - DeepSeek R1 0528 -> DeepSeek R1 670B - DeepSeek V4 Pro -> DeepSeek V4 Pro 1.6T - Kimi K2.5/2.6 -> Kimi K2.5/2.6 1T - Qwen3.5 -> Qwen3.5 397B - GLM5/5.1 -> GLM5/5.1 355B - MiniMax M2.5/2.7 -> MiniMax M2.5/2.7 456B DeepSeek R1's "0528" release-date suffix drops in favor of the param count to keep the label compact. gpt-oss 120B, Llama 3.3 70B Instruct, and Llama 3.1 70B Instruct already encode the size and stay unchanged. Param counts pulled from each model's published release / model card: DeepSeek-R1 671B, DeepSeek-V4-Pro 1.6T, Kimi K2 series 1T, Qwen3.5 397B, GLM 4.5 ~355B (GLM 5 follows the same architecture family), MiniMax M1 456B (M2 series same scale). Single registry edit in MODEL_CONFIG → propagates to ModelSelector dropdown, chart watermarks, chart titles, submissions table. 33/33 unit tests pass; data-mappings.test.ts assertions extended to cover all dropdown labels. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 9518d88 commit 9b418ed

2 files changed

Lines changed: 16 additions & 11 deletions

File tree

packages/app/src/lib/data-mappings.test.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -184,12 +184,13 @@ describe('getModelLabel', () => {
184184
it('returns correct label for each known model', () => {
185185
expect(getModelLabel(Model.Llama3_3_70B)).toBe('Llama 3.3 70B Instruct');
186186
expect(getModelLabel(Model.Llama3_1_70B)).toBe('Llama 3.1 70B Instruct');
187-
expect(getModelLabel(Model.DeepSeek_R1)).toBe('DeepSeek R1 0528');
187+
expect(getModelLabel(Model.DeepSeek_R1)).toBe('DeepSeek R1 670B');
188+
expect(getModelLabel(Model.DeepSeek_V4_Pro)).toBe('DeepSeek V4 Pro 1.6T');
188189
expect(getModelLabel(Model.GptOss)).toBe('gpt-oss 120B');
189-
expect(getModelLabel(Model.Qwen3_5)).toBe('Qwen3.5');
190-
expect(getModelLabel(Model.Kimi_K2_5)).toBe('Kimi K2.5/2.6');
191-
expect(getModelLabel(Model.GLM_5)).toBe('GLM5/5.1');
192-
expect(getModelLabel(Model.MiniMax_M2_5)).toBe('MiniMax M2.5/2.7');
190+
expect(getModelLabel(Model.Qwen3_5)).toBe('Qwen3.5 397B');
191+
expect(getModelLabel(Model.Kimi_K2_5)).toBe('Kimi K2.5/2.6 1T');
192+
expect(getModelLabel(Model.GLM_5)).toBe('GLM5/5.1 355B');
193+
expect(getModelLabel(Model.MiniMax_M2_5)).toBe('MiniMax M2.5/2.7 456B');
193194
});
194195

195196
it('falls back to the model value for unknown model', () => {

packages/app/src/lib/data-mappings.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,14 @@ interface ModelConfig {
4848
mtpEngineExclusion?: boolean;
4949
}
5050

51+
// Total parameter counts appended to each label so users can compare model
52+
// scale at a glance in the dropdown. For Llama and gpt-oss the count is
53+
// already part of the canonical name (Llama 3.3 70B, gpt-oss 120B) so no
54+
// duplication needed.
5155
const MODEL_CONFIG: Record<Model, ModelConfig> = {
52-
[Model.DeepSeek_R1]: { label: 'DeepSeek R1 0528', prefix: 'dsr1', category: 'default' },
56+
[Model.DeepSeek_R1]: { label: 'DeepSeek R1 670B', prefix: 'dsr1', category: 'default' },
5357
[Model.DeepSeek_V4_Pro]: {
54-
label: 'DeepSeek V4 Pro',
58+
label: 'DeepSeek V4 Pro 1.6T',
5559
prefix: 'dsv4',
5660
category: 'default',
5761
mtpEngineExclusion: true,
@@ -61,15 +65,15 @@ const MODEL_CONFIG: Record<Model, ModelConfig> = {
6165
// versions joined with a slash — matches the GLM5/5.1 pattern. The
6266
// hyphenated `Model.Kimi_K2_5` enum value stays as-is for internal
6367
// routing / DB key mapping.
64-
label: 'Kimi K2.5/2.6',
68+
label: 'Kimi K2.5/2.6 1T',
6569
prefix: 'kimik2.5',
6670
category: 'default',
6771
},
68-
[Model.Qwen3_5]: { label: 'Qwen3.5', prefix: 'qwen3.5', category: 'default' },
69-
[Model.GLM_5]: { label: 'GLM5/5.1', prefix: 'glm5', category: 'default' },
72+
[Model.Qwen3_5]: { label: 'Qwen3.5 397B', prefix: 'qwen3.5', category: 'default' },
73+
[Model.GLM_5]: { label: 'GLM5/5.1 355B', prefix: 'glm5', category: 'default' },
7074
[Model.MiniMax_M2_5]: {
7175
// M2.5 and M2.7 share an architecture — same GLM5/5.1 pattern as Kimi.
72-
label: 'MiniMax M2.5/2.7',
76+
label: 'MiniMax M2.5/2.7 456B',
7377
prefix: 'minimaxm2.5',
7478
category: 'default',
7579
},

0 commit comments

Comments
 (0)