From df6d8628951894fd741a723fc6ae338ee034a7a4 Mon Sep 17 00:00:00 2001 From: yesone Date: Fri, 24 Apr 2026 09:00:21 +0800 Subject: [PATCH] fix: correct gpt-5.5 completion ratio --- setting/ratio_setting/model_ratio.go | 3 +++ setting/ratio_setting/model_ratio_test.go | 22 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 setting/ratio_setting/model_ratio_test.go diff --git a/setting/ratio_setting/model_ratio.go b/setting/ratio_setting/model_ratio.go index 7556fd94..42040d97 100644 --- a/setting/ratio_setting/model_ratio.go +++ b/setting/ratio_setting/model_ratio.go @@ -515,6 +515,9 @@ func getHardcodedCompletionModelRatio(name string) (float64, bool) { } // gpt-5 匹配 if strings.HasPrefix(name, "gpt-5") { + if strings.HasPrefix(name, "gpt-5.5") { + return 6, true + } if strings.HasPrefix(name, "gpt-5.4") { if strings.HasPrefix(name, "gpt-5.4-nano") { return 6.25, true diff --git a/setting/ratio_setting/model_ratio_test.go b/setting/ratio_setting/model_ratio_test.go new file mode 100644 index 00000000..0b7912f8 --- /dev/null +++ b/setting/ratio_setting/model_ratio_test.go @@ -0,0 +1,22 @@ +package ratio_setting + +import "testing" + +func TestGetCompletionRatioInfoGPT55UsesOfficialOutputMultiplier(t *testing.T) { + info := GetCompletionRatioInfo("gpt-5.5") + + if info.Ratio != 6 { + t.Fatalf("gpt-5.5 completion ratio = %v, want 6", info.Ratio) + } + if !info.Locked { + t.Fatal("gpt-5.5 completion ratio should be locked to the official multiplier") + } +} + +func TestGetCompletionRatioGPT55DatedVariant(t *testing.T) { + got := GetCompletionRatio("gpt-5.5-2026-04-24") + + if got != 6 { + t.Fatalf("gpt-5.5 dated variant completion ratio = %v, want 6", got) + } +}