From 82624affb0251b75b62b35567d3eb260c06efe78 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期一, 23 三月 2026 12:48:07 +0800
Subject: [PATCH] #ai 代码优化
---
rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java | 18 ++++++++++++++++--
1 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java
index b6087f5..8173b21 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/ai/service/impl/AiConfigResolverServiceImpl.java
@@ -2,6 +2,7 @@
import com.vincent.rsf.server.ai.config.AiDefaults;
import com.vincent.rsf.server.ai.dto.AiResolvedConfig;
+import com.vincent.rsf.server.ai.store.AiConfigCacheStore;
import com.vincent.rsf.server.ai.service.AiConfigResolverService;
import com.vincent.rsf.server.ai.service.AiMcpMountService;
import com.vincent.rsf.server.ai.service.AiParamService;
@@ -18,6 +19,7 @@
private final AiParamService aiParamService;
private final AiPromptService aiPromptService;
private final AiMcpMountService aiMcpMountService;
+ private final AiConfigCacheStore aiConfigCacheStore;
/**
* 鎸夌鎴疯В鏋愪竴娆″畬鏁寸殑 AI 杩愯閰嶇疆銆�
@@ -26,15 +28,27 @@
*/
@Override
public AiResolvedConfig resolve(String promptCode, Long tenantId) {
+ return resolve(promptCode, tenantId, null);
+ }
+
+ @Override
+ public AiResolvedConfig resolve(String promptCode, Long tenantId, Long aiParamId) {
if (tenantId == null) {
throw new CoolException("褰撳墠绉熸埛涓嶅瓨鍦�");
}
String finalPromptCode = StringUtils.hasText(promptCode) ? promptCode : AiDefaults.DEFAULT_PROMPT_CODE;
- return AiResolvedConfig.builder()
+ // 閰嶇疆瑙f瀽鏄涓叆鍙e叡浜殑鐑偣璺緞锛屽懡涓紦瀛樻椂鍙互閬垮厤涓夊紶閰嶇疆琛ㄧ殑閲嶅鏌ヨ銆�
+ AiResolvedConfig cached = aiConfigCacheStore.getResolvedConfig(tenantId, finalPromptCode, aiParamId);
+ if (cached != null) {
+ return cached;
+ }
+ AiResolvedConfig resolvedConfig = AiResolvedConfig.builder()
.promptCode(finalPromptCode)
- .aiParam(aiParamService.getActiveParam(tenantId))
+ .aiParam(aiParamService.getChatParam(tenantId, aiParamId))
.prompt(aiPromptService.getActivePrompt(finalPromptCode, tenantId))
.mcpMounts(aiMcpMountService.listActiveMounts(tenantId))
.build();
+ aiConfigCacheStore.cacheResolvedConfig(tenantId, finalPromptCode, aiParamId, resolvedConfig);
+ return resolvedConfig;
}
}
--
Gitblit v1.9.1