Skip to content

模型自动选择并发问题 #252

@sharkfin01

Description

@sharkfin01

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions