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 {