一、背景
当前大模型应用以大面积应用,因此基于大模型技术,改进公司原自助问答知识库。由于大模型对计算要求较高,反馈速度较慢,因此希望通过流式应答,在前端实时展示大模型应答(即打字机效果),以提升使用体验。
二、技术路线
前端:EventSource(如需header设置,可使用 EventSourcePolyfill)
后端:SseEmitter
三、问题
前端经过多层nginx代理后,前端无法实现打字机效果,或效果与后端反馈不同步。
四、问题原因及解决
经nginx多层代理时,第一次nginx转发时,http协议版本由 1.1变为1.0
解决方法一:修改nginx配置,强制代理采用 http1.1转发,proxy_http_version 1.1;
解决方法二:修改nginx配置,强制关闭本地缓冲,proxy_buffering off。