mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-10-19 16:17:56 +00:00
fix(service): 消除 isOpenAIGPT56Model 重复声明,统一到 openai_model_alias.go
PR #3898 与 #3909 各自新增了同名函数(billing 精确匹配版 / gateway 前缀匹配版),合并后 internal/service 编译失败。保留前缀匹配语义作为 唯一实现:对 normalizeKnownOpenAICodexModel 的输出(gpt-5.6-* 精确 基名)canonicalize 幂等且精确分支命中,计费行为不变;同时保住 gpt-5.6-*-max 等后缀变体的识别。
This commit is contained in:
@@ -1141,10 +1141,6 @@ func (s *BillingService) shouldApplySessionLongContextPricing(tokens UsageTokens
|
|||||||
return totalInputTokens > pricing.LongContextInputThreshold
|
return totalInputTokens > pricing.LongContextInputThreshold
|
||||||
}
|
}
|
||||||
|
|
||||||
func isOpenAIGPT56Model(normalized string) bool {
|
|
||||||
return normalized == "gpt-5.6-sol" || normalized == "gpt-5.6-terra" || normalized == "gpt-5.6-luna"
|
|
||||||
}
|
|
||||||
|
|
||||||
func usesOpenAILegacyLongContextPricing(normalized string) bool {
|
func usesOpenAILegacyLongContextPricing(normalized string) bool {
|
||||||
return normalized == "gpt-5.4" || normalized == "gpt-5.5" || normalized == "gpt-5.5-pro"
|
return normalized == "gpt-5.4" || normalized == "gpt-5.5" || normalized == "gpt-5.5-pro"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1218,13 +1218,3 @@ func normalizeOpenAIReasoningEffortForModel(raw, model string) string {
|
|||||||
}
|
}
|
||||||
return normalizeOpenAIReasoningEffort(raw)
|
return normalizeOpenAIReasoningEffort(raw)
|
||||||
}
|
}
|
||||||
|
|
||||||
func isOpenAIGPT56Model(model string) bool {
|
|
||||||
normalized := canonicalizeOpenAIModelAliasSpelling(model)
|
|
||||||
for _, prefix := range []string{"gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"} {
|
|
||||||
if normalized == prefix || strings.HasPrefix(normalized, prefix+"-") {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -98,6 +98,18 @@ func normalizeKnownOpenAICodexModel(model string) string {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// isOpenAIGPT56Model 判断是否 GPT-5.6 系列模型;入参可为原始模型名
|
||||||
|
// (含大小写/路径/后缀变体)或已归一化的基名,两者均能正确识别。
|
||||||
|
func isOpenAIGPT56Model(model string) bool {
|
||||||
|
normalized := canonicalizeOpenAIModelAliasSpelling(model)
|
||||||
|
for _, prefix := range []string{"gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"} {
|
||||||
|
if normalized == prefix || strings.HasPrefix(normalized, prefix+"-") {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func appendUsageBillingModelCandidate(candidates []string, seen map[string]struct{}, model string) []string {
|
func appendUsageBillingModelCandidate(candidates []string, seen map[string]struct{}, model string) []string {
|
||||||
trimmed := strings.TrimSpace(model)
|
trimmed := strings.TrimSpace(model)
|
||||||
if trimmed == "" {
|
if trimmed == "" {
|
||||||
|
|||||||
Reference in New Issue
Block a user