refactor: replace inline closure with a helper function

This commit is contained in:
RedwindA
2025-06-16 19:41:42 +08:00
parent c48a398737
commit 1294d286ee

View File

@@ -347,17 +347,20 @@ func UpdateModelRatioByJSONString(jsonStr string) error {
return json.Unmarshal([]byte(jsonStr), &modelRatioMap)
}
// 处理带有思考预算的模型名称,方便统一定价
func handleThinkingBudgetModel(name, prefix, wildcard string) string {
if strings.HasPrefix(name, prefix) && strings.Contains(name, "-thinking-") {
return wildcard
}
return name
}
func GetModelRatio(name string) (float64, bool) {
modelRatioMapMutex.RLock()
defer modelRatioMapMutex.RUnlock()
// 处理带有思考预算的模型名称,方便统一定价
handleThinkingBudgetModel := func(prefix, wildcard string) {
if strings.HasPrefix(name, prefix) && strings.Contains(name, "-thinking-") {
name = wildcard
}
}
handleThinkingBudgetModel("gemini-2.5-flash", "gemini-2.5-flash-thinking-*")
handleThinkingBudgetModel("gemini-2.5-pro", "gemini-2.5-pro-thinking-*")
name = handleThinkingBudgetModel(name, "gemini-2.5-flash", "gemini-2.5-flash-thinking-*")
name = handleThinkingBudgetModel(name, "gemini-2.5-pro", "gemini-2.5-pro-thinking-*")
if strings.HasPrefix(name, "gpt-4-gizmo") {
name = "gpt-4-gizmo-*"
}