fix(quota): refine cache token calculation for OpenRouter channel type

This commit is contained in:
neotf
2025-06-18 20:11:48 +08:00
parent 37fbcb7950
commit 16c63b3be9

View File

@@ -232,9 +232,15 @@ func PostClaudeConsumeQuota(ctx *gin.Context, relayInfo *relaycommon.RelayInfo,
cacheCreationRatio := priceData.CacheCreationRatio cacheCreationRatio := priceData.CacheCreationRatio
cacheCreationTokens := usage.PromptTokensDetails.CachedCreationTokens cacheCreationTokens := usage.PromptTokensDetails.CachedCreationTokens
if relayInfo.ChannelType == common.ChannelTypeOpenRouter && priceData.CacheCreationRatio != 1 { if relayInfo.ChannelType == common.ChannelTypeOpenRouter {
cacheCreationTokens = CalcOpenRouterCacheCreateTokens(*usage, priceData) promptTokens -= cacheTokens
promptTokens = promptTokens - cacheCreationTokens - cacheTokens if cacheCreationTokens == 0 && priceData.CacheCreationRatio != 1 && usage.Cost != 0 {
maybeCacheCreationTokens := CalcOpenRouterCacheCreateTokens(*usage, priceData)
if promptTokens >= maybeCacheCreationTokens {
cacheCreationTokens = maybeCacheCreationTokens
}
}
promptTokens -= cacheCreationTokens
} }
calculateQuota := 0.0 calculateQuota := 0.0