diff --git a/src/main/java/com/knowledge/base/infrastructure/south/llm/AnythingLLMServiceImpl.java b/src/main/java/com/knowledge/base/infrastructure/south/llm/AnythingLLMServiceImpl.java index cb56d09..a53da9d 100644 --- a/src/main/java/com/knowledge/base/infrastructure/south/llm/AnythingLLMServiceImpl.java +++ b/src/main/java/com/knowledge/base/infrastructure/south/llm/AnythingLLMServiceImpl.java @@ -64,7 +64,10 @@ public class AnythingLLMServiceImpl implements LLMService { String line; while ((line = reader.readLine()) != null) { - writer.writeLine(line); // 已是 SSE 格式 + if (line.startsWith("data:")) { + line = line.substring(5).trim(); + } + writer.writeJsonLine(line); } } } diff --git a/src/main/java/com/knowledge/base/infrastructure/util/http/SseOutputAdapter.java b/src/main/java/com/knowledge/base/infrastructure/util/http/SseOutputAdapter.java index 7f91c9d..ec89fcd 100644 --- a/src/main/java/com/knowledge/base/infrastructure/util/http/SseOutputAdapter.java +++ b/src/main/java/com/knowledge/base/infrastructure/util/http/SseOutputAdapter.java @@ -19,4 +19,9 @@ public class SseOutputAdapter implements WriterAdapter { emitter.send(SseEmitter.event().data(line)); } } + + @Override + public void writeJsonLine(String json) throws IOException { + emitter.send(SseEmitter.event().data(json)); + } } diff --git a/src/main/java/com/knowledge/base/infrastructure/util/http/WriterAdapter.java b/src/main/java/com/knowledge/base/infrastructure/util/http/WriterAdapter.java index 92a73d0..e53101d 100644 --- a/src/main/java/com/knowledge/base/infrastructure/util/http/WriterAdapter.java +++ b/src/main/java/com/knowledge/base/infrastructure/util/http/WriterAdapter.java @@ -4,5 +4,7 @@ import java.io.IOException; public interface WriterAdapter { void writeLine(String line) throws IOException; + + void writeJsonLine(String line) throws IOException ; }