fix(quota): refine cache token calculation for OpenRouter channel type
This commit is contained in:
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user