| | |
| | | import com.zy.ai.gateway.adapter.AiProviderAdapterRegistry; |
| | | import com.zy.ai.gateway.model.AiRequest; |
| | | import com.zy.ai.gateway.model.AiResponse; |
| | | import com.zy.ai.service.AiTokenUsageService; |
| | | import com.zy.ai.service.LlmCallLogService; |
| | | import com.zy.ai.service.LlmRoutingService; |
| | | import lombok.RequiredArgsConstructor; |
| | |
| | | private final LlmRoutingService llmRoutingService; |
| | | private final AiProviderAdapterRegistry adapterRegistry; |
| | | private final LlmCallLogService llmCallLogService; |
| | | private final AiTokenUsageService aiTokenUsageService; |
| | | |
| | | @Value("${llm.base-url:}") |
| | | private String fallbackBaseUrl; |
| | |
| | | item.setExtra(cut(extraPayload(route, response), 512)); |
| | | item.setCreateTime(new Date()); |
| | | llmCallLogService.saveIgnoreError(item); |
| | | |
| | | // 累加 token 到独立存储 |
| | | if (success && response != null && response.getUsage() != null) { |
| | | aiTokenUsageService.incrementTokens( |
| | | response.getUsage().getInputTokens() == null ? 0 : response.getUsage().getInputTokens(), |
| | | response.getUsage().getOutputTokens() == null ? 0 : response.getUsage().getOutputTokens(), |
| | | response.getUsage().getTotalTokens() == null ? 0 : response.getUsage().getTotalTokens(), |
| | | 1); |
| | | } |
| | | } |
| | | |
| | | private String responseText(AiResponse response) { |