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:
shaw
2026-07-10 14:09:07 +08:00
parent 8b96acde97
commit 0dec1ad292
3 changed files with 12 additions and 14 deletions
@@ -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 == "" {