From aeb124afcef69c8e43230bc0b31cee0616a5d9c9 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 12 三月 2026 13:53:47 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ai/service/WcsDiagnosisService.java | 25 ++++++++++++++++++-------
1 files changed, 18 insertions(+), 7 deletions(-)
diff --git a/src/main/java/com/zy/ai/service/WcsDiagnosisService.java b/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
index 7c10893..757e877 100644
--- a/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
+++ b/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
@@ -2,11 +2,13 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
+import com.zy.ai.entity.AiPromptTemplate;
import com.zy.ai.entity.ChatCompletionRequest;
import com.zy.ai.entity.ChatCompletionResponse;
import com.zy.ai.entity.WcsDiagnosisRequest;
+import com.zy.ai.enums.AiPromptScene;
import com.zy.ai.mcp.service.SpringAiMcpToolManager;
-import com.zy.ai.utils.AiPromptUtils;
+import com.zy.ai.service.AiPromptTemplateService;
import com.zy.ai.utils.AiUtils;
import com.zy.common.utils.RedisUtil;
import com.zy.core.enums.RedisKeyType;
@@ -32,24 +34,25 @@
@Autowired
private RedisUtil redisUtil;
@Autowired
- private AiPromptUtils aiPromptUtils;
- @Autowired
private AiUtils aiUtils;
@Autowired
private SpringAiMcpToolManager mcpToolManager;
+ @Autowired
+ private AiPromptTemplateService aiPromptTemplateService;
public void diagnoseStream(WcsDiagnosisRequest request, SseEmitter emitter) {
List<ChatCompletionRequest.Message> messages = new ArrayList<>();
+ AiPromptTemplate promptTemplate = aiPromptTemplateService.resolvePublished(AiPromptScene.DIAGNOSE_STREAM.getCode());
ChatCompletionRequest.Message mcpSystem = new ChatCompletionRequest.Message();
mcpSystem.setRole("system");
- mcpSystem.setContent(aiPromptUtils.getAiDiagnosePromptMcp());
+ mcpSystem.setContent(promptTemplate.getContent());
ChatCompletionRequest.Message mcpUser = new ChatCompletionRequest.Message();
mcpUser.setRole("user");
mcpUser.setContent(aiUtils.buildDiagnosisUserContentMcp(request));
- runMcpStreamingDiagnosis(messages, mcpSystem, mcpUser, 0.3, 2048, emitter, null);
+ runMcpStreamingDiagnosis(messages, mcpSystem, mcpUser, promptTemplate, 0.3, 2048, emitter, null);
}
public void askStream(String prompt,
@@ -81,16 +84,17 @@
}
final String finalChatId = chatId;
+ AiPromptTemplate promptTemplate = aiPromptTemplateService.resolvePublished(AiPromptScene.SENSOR_CHAT.getCode());
ChatCompletionRequest.Message mcpSystem = new ChatCompletionRequest.Message();
mcpSystem.setRole("system");
- mcpSystem.setContent(aiPromptUtils.getWcsSensorPromptMcp());
+ mcpSystem.setContent(promptTemplate.getContent());
ChatCompletionRequest.Message mcpUser = new ChatCompletionRequest.Message();
mcpUser.setRole("user");
mcpUser.setContent("銆愮敤鎴锋彁闂�慭n" + (prompt == null ? "" : prompt));
- runMcpStreamingDiagnosis(messages, mcpSystem, mcpUser, 0.3, 2048, emitter, finalChatId);
+ runMcpStreamingDiagnosis(messages, mcpSystem, mcpUser, promptTemplate, 0.3, 2048, emitter, finalChatId);
}
public List<Map<String, Object>> listChats() {
@@ -161,6 +165,7 @@
private void runMcpStreamingDiagnosis(List<ChatCompletionRequest.Message> baseMessages,
ChatCompletionRequest.Message systemPrompt,
ChatCompletionRequest.Message userQuestion,
+ AiPromptTemplate promptTemplate,
Double temperature,
Integer maxTokens,
SseEmitter emitter,
@@ -272,6 +277,12 @@
Map<String, Object> meta = new java.util.HashMap<>();
meta.put("chatId", chatId);
meta.put("title", buildTitleFromPrompt(userQuestion.getContent()));
+ if (promptTemplate != null) {
+ meta.put("promptTemplateId", promptTemplate.getId());
+ meta.put("promptSceneCode", promptTemplate.getSceneCode());
+ meta.put("promptVersion", promptTemplate.getVersion());
+ meta.put("promptName", promptTemplate.getName());
+ }
meta.put("createdAt", createdAt);
meta.put("updatedAt", System.currentTimeMillis());
redisUtil.hmset(metaKey, meta, CHAT_TTL_SECONDS);
--
Gitblit v1.9.1