Bladeren bron

refactor: simplify WebSearchPrice const

creamlike1024 5 maanden geleden
bovenliggende
commit
136a029bb4
1 gewijzigde bestanden met toevoegingen van 11 en 38 verwijderingen
  1. 11 38
      setting/operation_setting/tools.go

+ 11 - 38
setting/operation_setting/tools.go

@@ -4,12 +4,8 @@ import "strings"
 
 const (
 	// Web search
-	WebSearchHighTierModelPriceLow    = 10.00
-	WebSearchHighTierModelPriceMedium = 10.00
-	WebSearchHighTierModelPriceHigh   = 10.00
-	WebSearchPriceLow                 = 25.00
-	WebSearchPriceMedium              = 25.00
-	WebSearchPriceHigh                = 25.00
+	WebSearchPriceHigh = 25.00
+	WebSearchPrice     = 10.00
 	// File search
 	FileSearchPrice = 2.5
 )
@@ -34,41 +30,18 @@ func GetClaudeWebSearchPricePerThousand() float64 {
 
 func GetWebSearchPricePerThousand(modelName string, contextSize string) float64 {
 	// 确定模型类型
-	// https://platform.openai.com/docs/pricing Web search 价格按模型类型和 search context size 收费
+	// https://platform.openai.com/docs/pricing Web search 价格按模型类型收费
 	// 新版计费规则不再关联 search context size,故在const区域将各size的价格设为一致。
-	// gpt-4o and gpt-4.1 models (including mini models) 等普通模型更贵,o3, o4-mini, o3-pro, and deep research models 等高级模型更便宜
-	isHighTierModel := 
+	// gpt-4o and gpt-4.1 models (including mini models) 等模型更贵,o3, o4-mini, o3-pro, and deep research models 等模型更便宜
+	isNormalPriceModel :=
 		strings.HasPrefix(modelName, "o3") ||
-		strings.HasPrefix(modelName, "o4") ||
-		strings.Contains(modelName, "deep-research")
-	// 确定 search context size 对应的价格
+			strings.HasPrefix(modelName, "o4") ||
+			strings.Contains(modelName, "deep-research")
 	var priceWebSearchPerThousandCalls float64
-	switch contextSize {
-	case "low":
-		if isHighTierModel {
-			priceWebSearchPerThousandCalls = WebSearchHighTierModelPriceLow
-		} else {
-			priceWebSearchPerThousandCalls = WebSearchPriceLow
-		}
-	case "medium":
-		if isHighTierModel {
-			priceWebSearchPerThousandCalls = WebSearchHighTierModelPriceMedium
-		} else {
-			priceWebSearchPerThousandCalls = WebSearchPriceMedium
-		}
-	case "high":
-		if isHighTierModel {
-			priceWebSearchPerThousandCalls = WebSearchHighTierModelPriceHigh
-		} else {
-			priceWebSearchPerThousandCalls = WebSearchPriceHigh
-		}
-	default:
-		// search context size 默认为 medium
-		if isHighTierModel {
-			priceWebSearchPerThousandCalls = WebSearchHighTierModelPriceMedium
-		} else {
-			priceWebSearchPerThousandCalls = WebSearchPriceMedium
-		}
+	if isNormalPriceModel {
+		priceWebSearchPerThousandCalls = WebSearchPrice
+	} else {
+		priceWebSearchPerThousandCalls = WebSearchPriceHigh
 	}
 	return priceWebSearchPerThousandCalls
 }