feat: update Usage struct to support dynamic token handling with ceil function #1503

This commit is contained in:
CaIon
2025-08-07 15:40:12 +08:00
parent 0c0caad827
commit 71c39c9893
3 changed files with 124 additions and 11 deletions

View File

@@ -570,11 +570,11 @@ func OpenaiHandlerWithUsage(c *gin.Context, info *relaycommon.RelayInfo, resp *h
// because the upstream has already consumed resources and returned content
// We should still perform billing even if parsing fails
// format
if usageResp.InputTokens > 0 {
usageResp.PromptTokens += usageResp.InputTokens
if usageResp.GetInputTokens() > 0 {
usageResp.PromptTokens += usageResp.GetInputTokens()
}
if usageResp.OutputTokens > 0 {
usageResp.CompletionTokens += usageResp.OutputTokens
if usageResp.GetOutputTokens() > 0 {
usageResp.CompletionTokens += usageResp.GetOutputTokens()
}
if usageResp.InputTokensDetails != nil {
usageResp.PromptTokensDetails.ImageTokens += usageResp.InputTokensDetails.ImageTokens