|
|
@@ -1251,6 +1251,7 @@ func geminiStreamHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http
|
|
|
usage.CompletionTokens = geminiResponse.UsageMetadata.CandidatesTokenCount + geminiResponse.UsageMetadata.ThoughtsTokenCount
|
|
|
usage.CompletionTokenDetails.ReasoningTokens = geminiResponse.UsageMetadata.ThoughtsTokenCount
|
|
|
usage.TotalTokens = geminiResponse.UsageMetadata.TotalTokenCount
|
|
|
+ usage.PromptTokensDetails.CachedTokens = geminiResponse.UsageMetadata.CachedContentTokenCount
|
|
|
for _, detail := range geminiResponse.UsageMetadata.PromptTokensDetails {
|
|
|
if detail.Modality == "AUDIO" {
|
|
|
usage.PromptTokensDetails.AudioTokens = detail.TokenCount
|
|
|
@@ -1395,6 +1396,7 @@ func GeminiChatHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http.R
|
|
|
PromptTokens: geminiResponse.UsageMetadata.PromptTokenCount,
|
|
|
}
|
|
|
usage.CompletionTokenDetails.ReasoningTokens = geminiResponse.UsageMetadata.ThoughtsTokenCount
|
|
|
+ usage.PromptTokensDetails.CachedTokens = geminiResponse.UsageMetadata.CachedContentTokenCount
|
|
|
for _, detail := range geminiResponse.UsageMetadata.PromptTokensDetails {
|
|
|
if detail.Modality == "AUDIO" {
|
|
|
usage.PromptTokensDetails.AudioTokens = detail.TokenCount
|
|
|
@@ -1447,6 +1449,7 @@ func GeminiChatHandler(c *gin.Context, info *relaycommon.RelayInfo, resp *http.R
|
|
|
}
|
|
|
|
|
|
usage.CompletionTokenDetails.ReasoningTokens = geminiResponse.UsageMetadata.ThoughtsTokenCount
|
|
|
+ usage.PromptTokensDetails.CachedTokens = geminiResponse.UsageMetadata.CachedContentTokenCount
|
|
|
usage.CompletionTokens = usage.TotalTokens - usage.PromptTokens
|
|
|
|
|
|
for _, detail := range geminiResponse.UsageMetadata.PromptTokensDetails {
|