From e893110ee5b5dc72cace0dc763c681149bb7025b Mon Sep 17 00:00:00 2001
From: ageer <ageerle@163.com>
Date: 星期一, 24 三月 2025 23:35:45 +0800
Subject: [PATCH] feat: 本地知识库功能优化

---
 ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java
index b0a8827..3f35e53 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/impl/SseServiceImpl.java
@@ -6,6 +6,7 @@
 import com.zhipu.oapi.ClientV4;
 import com.zhipu.oapi.service.v4.tools.*;
 import io.github.ollama4j.OllamaAPI;
+import io.github.ollama4j.models.chat.OllamaChatMessage;
 import io.github.ollama4j.models.chat.OllamaChatMessageRole;
 import io.github.ollama4j.models.chat.OllamaChatRequestBuilder;
 import io.github.ollama4j.models.chat.OllamaChatRequestModel;
@@ -626,13 +627,20 @@
         final SseEmitter emitter = new SseEmitter();
         String host = sysModel.getApiHost();
         List<Message> msgList = chatRequest.getMessages();
-        Message message = msgList.get(msgList.size() - 1);
+        List<OllamaChatMessage> messages = new ArrayList<>();
+
+        for (Message message : msgList) {
+            OllamaChatMessage ollamaChatMessage = new OllamaChatMessage();
+            ollamaChatMessage.setRole(OllamaChatMessageRole.USER);
+            ollamaChatMessage.setContent(message.getContent().toString());
+            messages.add(ollamaChatMessage);
+        }
         OllamaAPI api = new OllamaAPI(host);
         api.setRequestTimeoutSeconds(100);
         OllamaChatRequestBuilder builder = OllamaChatRequestBuilder.getInstance(parts[1]);
+
         OllamaChatRequestModel requestModel = builder
-            .withMessage(OllamaChatMessageRole.USER,
-                message.getContent().toString())
+            .withMessages(messages)
             .build();
 
         // 寮傛鎵ц OllAma API 璋冪敤

--
Gitblit v1.9.3