Commit f0e4e535f48ad30a0f74536f2d7eaa45c0412537
1 parent
e39513c6
【优化】处理 AI stream 返回,改为 map
Showing
1 changed file
with
1 additions
and
1 deletions
yudao-module-ai/yudao-module-ai-biz/src/main/java/cn/iocoder/yudao/module/ai/service/chat/AiChatMessageServiceImpl.java
| @@ -136,7 +136,7 @@ public class AiChatMessageServiceImpl implements AiChatMessageService { | @@ -136,7 +136,7 @@ public class AiChatMessageServiceImpl implements AiChatMessageService { | ||
| 136 | // 3.3 流式返回 | 136 | // 3.3 流式返回 |
| 137 | // 注意:Schedulers.immediate() 目的是,避免默认 Schedulers.parallel() 并发消费 chunk 导致 SSE 响应前端会乱序问题 | 137 | // 注意:Schedulers.immediate() 目的是,避免默认 Schedulers.parallel() 并发消费 chunk 导致 SSE 响应前端会乱序问题 |
| 138 | StringBuffer contentBuffer = new StringBuffer(); | 138 | StringBuffer contentBuffer = new StringBuffer(); |
| 139 | - return streamResponse.publishOn(Schedulers.single()).map(chunk -> { | 139 | + return streamResponse.map(chunk -> { |
| 140 | String newContent = chunk.getResult() != null ? chunk.getResult().getOutput().getContent() : null; | 140 | String newContent = chunk.getResult() != null ? chunk.getResult().getOutput().getContent() : null; |
| 141 | newContent = StrUtil.nullToDefault(newContent, ""); // 避免 null 的 情况 | 141 | newContent = StrUtil.nullToDefault(newContent, ""); // 避免 null 的 情况 |
| 142 | contentBuffer.append(newContent); | 142 | contentBuffer.append(newContent); |