From 4954d3978cf1967729a5a2d5b90f6baef18974da Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 23 三月 2026 09:35:10 +0800
Subject: [PATCH] #ai redis+页面优化
---
rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiCallLogServiceImpl.java | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiCallLogServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiCallLogServiceImpl.java
index d3827a6..1a3d1c4 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiCallLogServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiCallLogServiceImpl.java
@@ -26,6 +26,7 @@
private static final Pattern BEARER_PATTERN = Pattern.compile("(?i)(bearer\\s+)([a-z0-9._-]+)");
private final AiMcpCallLogMapper aiMcpCallLogMapper;
+ private final AiRedisSupport aiRedisSupport;
@Override
public AiCallLog startCallLog(String requestId, Long sessionId, Long userId, Long tenantId, String promptCode,
@@ -51,6 +52,7 @@
.setCreateTime(now)
.setUpdateTime(now);
this.save(callLog);
+ aiRedisSupport.recordObserveCallStarted(tenantId);
return callLog;
}
@@ -73,6 +75,10 @@
.set(AiCallLog::getToolFailureCount, (int) toolFailureCount)
.set(AiCallLog::getToolCallCount, (int) (toolSuccessCount + toolFailureCount))
.set(AiCallLog::getUpdateTime, new Date()));
+ AiCallLog latest = this.getById(callLogId);
+ if (latest != null) {
+ aiRedisSupport.recordObserveCallFinished(latest.getTenantId(), status, elapsedMs, firstTokenLatencyMs, totalTokens);
+ }
}
@Override
@@ -93,6 +99,10 @@
.set(AiCallLog::getToolFailureCount, (int) toolFailureCount)
.set(AiCallLog::getToolCallCount, (int) (toolSuccessCount + toolFailureCount))
.set(AiCallLog::getUpdateTime, new Date()));
+ AiCallLog latest = this.getById(callLogId);
+ if (latest != null) {
+ aiRedisSupport.recordObserveCallFinished(latest.getTenantId(), status, elapsedMs, firstTokenLatencyMs, null);
+ }
}
@Override
@@ -117,10 +127,16 @@
.setUserId(userId)
.setTenantId(tenantId)
.setCreateTime(new Date()));
+ aiRedisSupport.recordObserveToolCall(tenantId, toolName, status);
}
@Override
public AiObserveStatsDto getObserveStats(Long tenantId) {
+ return aiRedisSupport.getObserveStats(tenantId, () -> loadObserveStatsFromDatabase(tenantId));
+ }
+
+ private AiObserveStatsDto loadObserveStatsFromDatabase(Long tenantId) {
+ // 鏁版嵁搴撹仛鍚堝彧浣滀负 Redis 鍐峰惎鍔ㄥ厹搴曪紝姝e父鎯呭喌涓嬬湅鏉垮簲鐩存帴娑堣垂瀹炴椂璁℃暟銆�
List<AiCallLog> callLogs = this.list(new LambdaQueryWrapper<AiCallLog>()
.eq(AiCallLog::getTenantId, tenantId)
.eq(AiCallLog::getDeleted, 0)
--
Gitblit v1.9.1