Просмотр исходного кода

Merge pull request #2811 from seefs001/fix/openrouter-claude-cache-usage

fix: openrouter claude cache usage
Seefs 1 месяц назад
Родитель
Сommit
760fbeb6e6
1 измененных файлов с 15 добавлено и 1 удалено
  1. 15 1
      relay/channel/claude/relay-claude.go

+ 15 - 1
relay/channel/claude/relay-claude.go

@@ -631,7 +631,21 @@ func FormatClaudeResponseInfo(requestMode int, claudeResponse *dto.ClaudeRespons
 					// 不叠加,只取最新的
 					claudeInfo.Usage.PromptTokens = claudeResponse.Usage.InputTokens
 				}
-				claudeInfo.Usage.CompletionTokens = claudeResponse.Usage.OutputTokens
+				if claudeResponse.Usage.CacheReadInputTokens > 0 {
+					claudeInfo.Usage.PromptTokensDetails.CachedTokens = claudeResponse.Usage.CacheReadInputTokens
+				}
+				if claudeResponse.Usage.CacheCreationInputTokens > 0 {
+					claudeInfo.Usage.PromptTokensDetails.CachedCreationTokens = claudeResponse.Usage.CacheCreationInputTokens
+				}
+				if cacheCreation5m := claudeResponse.Usage.GetCacheCreation5mTokens(); cacheCreation5m > 0 {
+					claudeInfo.Usage.ClaudeCacheCreation5mTokens = cacheCreation5m
+				}
+				if cacheCreation1h := claudeResponse.Usage.GetCacheCreation1hTokens(); cacheCreation1h > 0 {
+					claudeInfo.Usage.ClaudeCacheCreation1hTokens = cacheCreation1h
+				}
+				if claudeResponse.Usage.OutputTokens > 0 {
+					claudeInfo.Usage.CompletionTokens = claudeResponse.Usage.OutputTokens
+				}
 				claudeInfo.Usage.TotalTokens = claudeInfo.Usage.PromptTokens + claudeInfo.Usage.CompletionTokens
 			}