mirror of
https://github.com/Wei-Shaw/sub2api.git
synced 2026-09-24 16:05:44 +08: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
|
||||
}
|
||||
|
||||
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 {
|
||||
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)
|
||||
}
|
||||
|
||||
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 {
|
||||
trimmed := strings.TrimSpace(model)
|
||||
if trimmed == "" {
|
||||
|
||||
Reference in New Issue
Block a user