Просмотр исходного кода

refactor: replace inline closure with a helper function

RedwindA 6 месяцев назад
Родитель
Сommit
1294d286ee
1 измененных файлов с 11 добавлено и 8 удалено
  1. 11 8
      setting/operation_setting/model-ratio.go

+ 11 - 8
setting/operation_setting/model-ratio.go

@@ -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-*"
 	}