]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
webui: parse effective-parameter sizes (E2B, E4B) as params (#25529)
authorEmanuil Rusev <redacted>
Tue, 14 Jul 2026 15:12:22 +0000 (18:12 +0300)
committerGitHub <redacted>
Tue, 14 Jul 2026 15:12:22 +0000 (17:12 +0200)
tools/ui/src/lib/constants/model-id.ts
tools/ui/tests/unit/model-id-parser.test.ts

index ab7932240e49e2d1c7e82b1ac992de7141c17ff8..4108a2132126af7afcfb8fd77498917573e28b28 100644 (file)
@@ -24,8 +24,10 @@ export const MODEL_CUSTOM_QUANTIZATION_PREFIX_RE = /^UD$/i;
 
 /**
  * Matches a parameter-count segment, e.g. `7B`, `1.5b`, `120M`.
+ * The optional leading `E` covers effective-parameter sizes, e.g. Gemma's
+ * `E2B`/`E4B` (MatFormer models sized by resident params).
  */
-export const MODEL_PARAMS_RE = /^\d+(\.\d+)?[BbMmKkTt]$/;
+export const MODEL_PARAMS_RE = /^[Ee]?\d+(\.\d+)?[BbMmKkTt]$/;
 
 /**
  * Matches an activated-parameter-count segment, e.g. `A10B`, `a2.4b`.
index 3c2937d35608771e64769c7540d67b623b2261f5..3439d956eb90c8920837ca2cc70b15f13102b8b7 100644 (file)
@@ -36,6 +36,11 @@ describe('parseModelId', () => {
                expect(parseModelId('model-100b:q4_k_m')).toMatchObject({ params: '100B' });
        });
 
+       it('extracts effective parameters correctly', () => {
+               expect(parseModelId('model-E4B-BF16')).toMatchObject({ params: 'E4B' });
+               expect(parseModelId('model-e2b:q4_k_m')).toMatchObject({ params: 'E2B' });
+       });
+
        it('extracts activated parameters correctly', () => {
                expect(parseModelId('model-100B-A10B-BF16')).toMatchObject({ activatedParams: 'A10B' });
                expect(parseModelId('model-100B-A10B:Q4_K_M')).toMatchObject({ activatedParams: 'A10B' });