From 122c7dab254f786f93ae7188a1e617eb022de2a1 Mon Sep 17 00:00:00 2001 From: drakeo338 Date: Tue, 6 Oct 2026 22:18:46 +0000 Subject: [PATCH] server: resolve 11.9B gemma4 models to the large renderer The 12b model reports 11.9B parameters, below the 12B large threshold, so size-free names fell back to gemma4-small. Lower the threshold to 11.5B, still above e4b. Fixes #18824 --- server/gemma4_test.go | 9 +++++++++ server/renderer_resolution.go | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/server/gemma4_test.go b/server/gemma4_test.go index 9ad3b0ce4..945fd4be9 100644 --- a/server/gemma4_test.go +++ b/server/gemma4_test.go @@ -80,6 +80,15 @@ func TestResolveGemma4Renderer(t *testing.T) { }, want: gemma4RendererLarge, }, + { + name: "legacy 11.9B model type with size-free name resolves large", + model: &Model{ + Name: "my-gemma", + ShortName: "my-gemma", + Config: testConfigWithRendererAndType(gemma4RendererLegacy, "11.9B"), + }, + want: gemma4RendererLarge, + }, { name: "legacy unknown defaults small", model: &Model{ diff --git a/server/renderer_resolution.go b/server/renderer_resolution.go index 53f87355a..3f0b4f07c 100644 --- a/server/renderer_resolution.go +++ b/server/renderer_resolution.go @@ -14,8 +14,9 @@ const ( // Gemma 4 small templates cover the e2b/e4b family, while 12b/26b/31b use // the large template. Default to the small prompt unless the model is - // clearly in the large range. - gemma4LargeMinParameterCount = 12_000_000_000 + // clearly in the large range. The 12b model reports 11.9B parameters, so + // the threshold sits just below that and above e4b. + gemma4LargeMinParameterCount = 11_500_000_000 ) func resolveRendererName(m *Model) string {