From 4c09d01583074ce7c9c8c8c7f235b49473a01381 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期五, 12 十二月 2025 12:43:33 +0800
Subject: [PATCH] #AI

---
 src/main/java/com/zy/ai/service/WcsDiagnosisService.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/zy/ai/service/WcsDiagnosisService.java b/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
index 93cecbb..a61d222 100644
--- a/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
+++ b/src/main/java/com/zy/ai/service/WcsDiagnosisService.java
@@ -99,6 +99,41 @@
         });
     }
 
+    public void askStream(WcsDiagnosisRequest request, String prompt, SseEmitter emitter) {
+        List<ChatCompletionRequest.Message> messages = new ArrayList<>();
+
+        ChatCompletionRequest.Message system = new ChatCompletionRequest.Message();
+        system.setRole("system");
+        system.setContent(
+                "浣犳槸涓�鍚嶈祫娣� WCS锛堜粨鍌ㄦ帶鍒剁郴缁燂級涓庤嚜鍔ㄥ寲绔嬪簱涓撳锛岀啛鎮夛細鍫嗗灈鏈恒�佽緭閫佺嚎銆佹彁鍗囨満銆佺┛姊溅绛夎澶囩殑浠诲姟鍒嗛厤鍜岃繍琛岄�昏緫锛屼篃鐔熸倝甯歌鐨勭郴缁熷崱姝汇�佷换鍔′笉鎵ц銆佽澶囩┖闂蹭絾鏃犱换鍔$瓑闂妯″紡銆俓n\n" +
+                "鍦ㄥ洖绛旂敤鎴烽棶棰樻椂锛岄渶瑕佺粨鍚堜笅闈㈢粰鍑虹殑绯荤粺褰撳墠涓婁笅鏂囦俊鎭紙浠诲姟銆佽澶囧疄鏃剁姸鎬併�佽澶囬厤缃�佺郴缁熸棩蹇楃瓑锛夛紝浠ョ畝娲併�佹槑纭殑涓枃浣滅瓟锛屽苟鍦ㄩ渶瑕佹椂缁欏嚭鍙墽琛岀殑鎺掓煡寤鸿銆�"
+        );
+        messages.add(system);
+
+        ChatCompletionRequest.Message contextMsg = new ChatCompletionRequest.Message();
+        contextMsg.setRole("user");
+        contextMsg.setContent(buildUserContent(request));
+        messages.add(contextMsg);
+
+        ChatCompletionRequest.Message questionMsg = new ChatCompletionRequest.Message();
+        questionMsg.setRole("user");
+        questionMsg.setContent("銆愮敤鎴锋彁闂�慭n" + (prompt == null ? "" : prompt));
+        messages.add(questionMsg);
+
+        llmChatService.chatStream(messages, 0.2, 2048, s -> {
+            try {
+                String safe = s == null ? "" : s.replace("\r", "").replace("\n", "\\n");
+                if (!safe.isEmpty()) {
+                    emitter.send(SseEmitter.event().data(safe));
+                }
+            } catch (Exception ignore) {}
+        }, () -> {
+            try { emitter.complete(); } catch (Exception ignore) {}
+        }, e -> {
+            try { emitter.completeWithError(e); } catch (Exception ignore) {}
+        });
+    }
+
     private String buildUserContent(WcsDiagnosisRequest request) {
         StringBuilder sb = new StringBuilder();
 

--
Gitblit v1.9.1