From f98c8bc665875e1e7795a332d8d0e7fd9e50fda1 Mon Sep 17 00:00:00 2001
From: Junjie <fallin.jie@qq.com>
Date: 星期四, 12 三月 2026 11:18:26 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/ai/service/WcsDiagnosisService.java | 35 +++++------------------------------
1 files changed, 5 insertions(+), 30 deletions(-)
diff --git a/src/main/java/com/zy/ai/service/WcsDiagnosisService.java b/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
index 45dea58..83f0380 100644
--- a/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
+++ b/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
@@ -5,7 +5,7 @@
import com.zy.ai.entity.ChatCompletionRequest;
import com.zy.ai.entity.ChatCompletionResponse;
import com.zy.ai.entity.WcsDiagnosisRequest;
-import com.zy.ai.mcp.controller.McpController;
+import com.zy.ai.mcp.service.SpringAiMcpToolManager;
import com.zy.ai.utils.AiPromptUtils;
import com.zy.ai.utils.AiUtils;
import com.zy.common.utils.RedisUtil;
@@ -36,7 +36,7 @@
@Autowired
private AiUtils aiUtils;
@Autowired(required = false)
- private McpController mcpController;
+ private SpringAiMcpToolManager mcpToolManager;
public void diagnoseStream(WcsDiagnosisRequest request, SseEmitter emitter) {
List<ChatCompletionRequest.Message> messages = new ArrayList<>();
@@ -257,8 +257,8 @@
SseEmitter emitter,
String chatId) {
try {
- if (mcpController == null) return false;
- List<Object> tools = buildOpenAiTools();
+ if (mcpToolManager == null) return false;
+ List<Object> tools = mcpToolManager.buildOpenAiTools();
if (tools.isEmpty()) return false;
baseMessages.add(systemPrompt);
@@ -303,7 +303,7 @@
}
Object output;
try {
- output = mcpController.callTool(toolName, args);
+ output = mcpToolManager.callTool(toolName, args);
} catch (Exception e) {
java.util.LinkedHashMap<String, Object> err = new java.util.LinkedHashMap<String, Object>();
err.put("tool", toolName);
@@ -386,31 +386,6 @@
} catch (Exception e) {
log.warn("SSE send failed", e);
}
- }
-
- private List<Object> buildOpenAiTools() {
- if (mcpController == null) return java.util.Collections.emptyList();
- List<Map<String, Object>> mcpTools = mcpController.listTools();
- if (mcpTools == null || mcpTools.isEmpty()) return java.util.Collections.emptyList();
-
- List<Object> tools = new ArrayList<>();
- for (Map<String, Object> t : mcpTools) {
- if (t == null) continue;
- Object name = t.get("name");
- if (name == null) continue;
- Object inputSchema = t.get("inputSchema");
- java.util.LinkedHashMap<String, Object> function = new java.util.LinkedHashMap<String, Object>();
- function.put("name", String.valueOf(name));
- Object desc = t.get("description");
- if (desc != null) function.put("description", String.valueOf(desc));
- function.put("parameters", inputSchema == null ? new java.util.LinkedHashMap<String, Object>() : inputSchema);
-
- java.util.LinkedHashMap<String, Object> tool = new java.util.LinkedHashMap<String, Object>();
- tool.put("type", "function");
- tool.put("function", function);
- tools.add(tool);
- }
- return tools;
}
private void sendLargeText(SseEmitter emitter, String text) {
--
Gitblit v1.9.1