From d12cc3a8da42a8ba150b33b1fe91a729f95aae69 Mon Sep 17 00:00:00 2001 From: feitianbubu Date: Tue, 3 Mar 2026 10:56:57 +0800 Subject: [PATCH] fix: use default model price for radio price model --- relay/helper/price.go | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/relay/helper/price.go b/relay/helper/price.go index 8c31c1822..f109040da 100644 --- a/relay/helper/price.go +++ b/relay/helper/price.go @@ -147,24 +147,22 @@ func ModelPriceHelperPerCall(c *gin.Context, info *relaycommon.RelayInfo) (types // 如果没有配置价格,检查模型倍率配置 if !success { - // 没有配置费用,返回错误 + // 没有配置费用,也要使用默认费用,否则按费率计费模型无法使用 defaultPrice, ok := ratio_setting.GetDefaultModelPriceMap()[info.OriginModelName] - if !ok { - // 不再使用默认价格,而是返回错误 - return types.PriceData{}, fmt.Errorf("模型 %s 价格未配置,请联系管理员设置", info.OriginModelName) - } else { + if ok { modelPrice = defaultPrice - } - // 没有配置倍率也不接受没配置,那就返回错误 - _, ratioSuccess, matchName := ratio_setting.GetModelRatio(info.OriginModelName) - if !ratioSuccess { + } else { + // 没有配置倍率也不接受没配置,那就返回错误 + _, ratioSuccess, matchName := ratio_setting.GetModelRatio(info.OriginModelName) acceptUnsetRatio := false if info.UserSetting.AcceptUnsetRatioModel { acceptUnsetRatio = true } - if !acceptUnsetRatio { + if !ratioSuccess && !acceptUnsetRatio { return types.PriceData{}, fmt.Errorf("模型 %s 倍率或价格未配置,请联系管理员设置或开始自用模式;Model %s ratio or price not set, please set or start self-use mode", matchName, matchName) } + // 未配置价格但配置了倍率,使用默认预扣价格 + modelPrice = float64(common.PreConsumedQuota) / common.QuotaPerUnit } }