From e7f76d2b15e41198417fbd71e4349c27eab4646c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ng=C3=B4=20Quang=20H=C3=B2a?= Date: Mon, 1 Jun 2026 07:29:31 +0700 Subject: [PATCH] Declare Qwen-3.5-27B model so its benchmarks ingest + display MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Benchmark runs for the dense Qwen3.5-27B (model-prefix `qwen3.5-27b`, vLLM + SGLang on 1x H100) were force-ingested successfully but every row was dropped: the ingest log shows `Skipped: 18 rows / qwen3.5-27b`. `resolveModelKey` returned null because `qwen3.5-27b` wasn't a known model key — it's a new prefix, deliberately distinct from the 397B `qwen3.5` so the dashboard doesn't conflate the two. Declare it in the three registries: - constants/models.ts DB_MODEL_TO_DISPLAY: `qwen3.5-27b` -> `Qwen-3.5-27B` (the single source of truth; DB_MODEL_KEYS + DISPLAY_MODEL_TO_DB derive from it, so the ETL now resolves the prefix instead of skipping). - app data-mappings.ts: new Model.Qwen3_5_27B enum member + MODEL_CONFIG entry (label "Qwen3.5 27B", prefix `qwen3.5-27b`) for frontend display. - db etl/normalizers.ts MODEL_TO_KEY: map the HF paths Qwen/Qwen3.5-27B[-FP8] -> `qwen3.5-27b` as a fallback when the prefix field is absent (e.g. eval artifacts). No migration: `model` is free-form lowercase text and `qwen3.5-27b` already satisfies the lowercase CHECK. Distinct display name keeps it a separate dashboard bucket from the 397B (no point-release grouping). After deploy, re-ingest the two qwen3.5-27b runs (vLLM 26717611277, SGLang 26717831054) so their previously-skipped rows land. Co-Authored-By: Claude Opus 4.8 (1M context) --- packages/app/src/lib/data-mappings.ts | 2 ++ packages/constants/src/models.ts | 1 + packages/db/src/etl/normalizers.ts | 2 ++ 3 files changed, 5 insertions(+) diff --git a/packages/app/src/lib/data-mappings.ts b/packages/app/src/lib/data-mappings.ts index 905a4e026..84b0987ac 100644 --- a/packages/app/src/lib/data-mappings.ts +++ b/packages/app/src/lib/data-mappings.ts @@ -4,6 +4,7 @@ export enum Model { DeepSeek_R1 = 'DeepSeek-R1-0528', GptOss = 'gpt-oss-120b', Qwen3_5 = 'Qwen-3.5-397B-A17B', + Qwen3_5_27B = 'Qwen-3.5-27B', Kimi_K2_5 = 'Kimi-K2.5', MiniMax_M2_5 = 'MiniMax-M2.5', GLM_5 = 'GLM-5', @@ -63,6 +64,7 @@ const MODEL_CONFIG: Record = { category: 'default', }, [Model.Qwen3_5]: { label: 'Qwen3.5', prefix: 'qwen3.5', category: 'default' }, + [Model.Qwen3_5_27B]: { label: 'Qwen3.5 27B', prefix: 'qwen3.5-27b', category: 'default' }, [Model.GLM_5]: { label: 'GLM5/5.1', prefix: 'glm5', category: 'default' }, [Model.MiniMax_M2_5]: { label: 'MiniMax M2.5', diff --git a/packages/constants/src/models.ts b/packages/constants/src/models.ts index 99d3f185d..9b878cd3e 100644 --- a/packages/constants/src/models.ts +++ b/packages/constants/src/models.ts @@ -11,6 +11,7 @@ export const DB_MODEL_TO_DISPLAY: Record = { gptoss120b: 'gpt-oss-120b', llama70b: 'Llama-3.3-70B-Instruct-FP8', 'qwen3.5': 'Qwen-3.5-397B-A17B', + 'qwen3.5-27b': 'Qwen-3.5-27B', 'kimik2.5': 'Kimi-K2.5', 'kimik2.6': 'Kimi-K2.5', 'minimaxm2.5': 'MiniMax-M2.5', diff --git a/packages/db/src/etl/normalizers.ts b/packages/db/src/etl/normalizers.ts index 62fd013a6..d0f08c48d 100644 --- a/packages/db/src/etl/normalizers.ts +++ b/packages/db/src/etl/normalizers.ts @@ -98,6 +98,8 @@ export const MODEL_TO_KEY: Record = { // Qwen3.5 'Qwen/Qwen3.5-397B-A17B': 'qwen3.5', 'Qwen/Qwen3.5-397B-A17B-FP8': 'qwen3.5', + 'Qwen/Qwen3.5-27B': 'qwen3.5-27b', + 'Qwen/Qwen3.5-27B-FP8': 'qwen3.5-27b', // Kimi-K2.5 'moonshotai/Kimi-K2.5': 'kimik2.5', // MiniMax-M2.5