-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
SseServiceImpl成员属性chatModelVo在并发情况下将存在严重的模型匹配问题
`@Service
@slf4j
@requiredargsconstructor
public class SseServiceImpl implements ISseService {
// ...
private ChatModelVo chatModelVo;
public SseEmitter sseChat(ChatRequest chatRequest, HttpServletRequest request) {
SseEmitter sseEmitter = new SseEmitter(0L);
try {
// ...
if (Boolean.TRUE.equals(chatRequest.getAutoSelectModel())) {
// 线程A在使用文生图,线程B在使用文本对话,这里A线程取值时可能已经被B线程线程纂改了
ChatModelVo currentModel = this.chatModelVo;
// ...
} else {
chatService.chat(chatRequest, sseEmitter);
}
} catch (Exception e) {
log.error(e.getMessage(), e);
SSEUtil.sendErrorEvent(sseEmitter, e.getMessage());
}
return sseEmitter;
}
}`
Metadata
Metadata
Assignees
Labels
No labels