From c3c119a9b41dbd2dabbdcc334e301fd9de856cfb Mon Sep 17 00:00:00 2001 From: FlowerRealm Date: Fri, 5 Dec 2025 18:54:20 +0800 Subject: [PATCH] feat: add claude-haiku-4-5-20251001 model support - Add model to Claude ModelList - Add model ratio (0.5, $1/1M input tokens) - Add completion ratio support (5x, $5/1M output tokens) - Add cache read ratio (0.1, $0.10/1M tokens) - Add cache write ratio (1.25, $1.25/1M tokens) Model specs: - Context window: 200K tokens - Max output: 64K tokens - Release date: October 1, 2025 --- relay/channel/claude/constants.go | 1 + setting/ratio_setting/cache_ratio.go | 2 ++ setting/ratio_setting/model_ratio.go | 3 ++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/relay/channel/claude/constants.go b/relay/channel/claude/constants.go index a31f34162..7debb353e 100644 --- a/relay/channel/claude/constants.go +++ b/relay/channel/claude/constants.go @@ -9,6 +9,7 @@ var ModelList = []string{ "claude-3-opus-20240229", "claude-3-haiku-20240307", "claude-3-5-haiku-20241022", + "claude-haiku-4-5-20251001", "claude-3-5-sonnet-20240620", "claude-3-5-sonnet-20241022", "claude-3-7-sonnet-20250219", diff --git a/setting/ratio_setting/cache_ratio.go b/setting/ratio_setting/cache_ratio.go index 3b317bc18..cf54cb313 100644 --- a/setting/ratio_setting/cache_ratio.go +++ b/setting/ratio_setting/cache_ratio.go @@ -43,6 +43,7 @@ var defaultCacheRatio = map[string]float64{ "claude-3-opus-20240229": 0.1, "claude-3-haiku-20240307": 0.1, "claude-3-5-haiku-20241022": 0.1, + "claude-haiku-4-5-20251001": 0.1, "claude-3-5-sonnet-20240620": 0.1, "claude-3-5-sonnet-20241022": 0.1, "claude-3-7-sonnet-20250219": 0.1, @@ -64,6 +65,7 @@ var defaultCreateCacheRatio = map[string]float64{ "claude-3-opus-20240229": 1.25, "claude-3-haiku-20240307": 1.25, "claude-3-5-haiku-20241022": 1.25, + "claude-haiku-4-5-20251001": 1.25, "claude-3-5-sonnet-20240620": 1.25, "claude-3-5-sonnet-20241022": 1.25, "claude-3-7-sonnet-20250219": 1.25, diff --git a/setting/ratio_setting/model_ratio.go b/setting/ratio_setting/model_ratio.go index bd533db5c..bef82e57e 100644 --- a/setting/ratio_setting/model_ratio.go +++ b/setting/ratio_setting/model_ratio.go @@ -137,6 +137,7 @@ var defaultModelRatio = map[string]float64{ "claude-2.1": 4, // $8 / 1M tokens "claude-3-haiku-20240307": 0.125, // $0.25 / 1M tokens "claude-3-5-haiku-20241022": 0.5, // $1 / 1M tokens + "claude-haiku-4-5-20251001": 0.5, // $1 / 1M tokens "claude-3-sonnet-20240229": 1.5, // $3 / 1M tokens "claude-3-5-sonnet-20240620": 1.5, "claude-3-5-sonnet-20241022": 1.5, @@ -560,7 +561,7 @@ func getHardcodedCompletionModelRatio(name string) (float64, bool) { if strings.Contains(name, "claude-3") { return 5, true - } else if strings.Contains(name, "claude-sonnet-4") || strings.Contains(name, "claude-opus-4") { + } else if strings.Contains(name, "claude-sonnet-4") || strings.Contains(name, "claude-opus-4") || strings.Contains(name, "claude-haiku-4") { return 5, true } else if strings.Contains(name, "claude-instant-1") || strings.Contains(name, "claude-2") { return 3, true