【BUG】流式响应requests得到: ping - 和时间戳

前情提要

运行Langchain-Chatchat项目,使用自定义请求访问API Server流式输出

报错展示

bash 复制代码
b': ping - 2024-05-22 00:46:04.832520+00:00\r\n\r\n'

报错原因

这通常是由于 Server-Sent Events (SSE) 实现中使用的"心跳"机制,以确保连接保持活跃。一些 SSE 实现会定期发送 ping 消息,以防止连接超时或被关闭。

解决方案

1、降低sse_starlette版本为1.8.2

我之前用的是2.1.0,不想降低版本用第二个方法

2、EventSourceResponse函数中注释304~311行

bash 复制代码
            if self.ping_message_factory:
                assert isinstance(self.ping_message_factory, Callable)  # type: ignore  # https://github.com/python/mypy/issues/6864
            ping = (
                ServerSentEvent(comment=f"ping - {datetime.utcnow()}").encode()
                if self.ping_message_factory is None
                else ensure_bytes(self.ping_message_factory(), self.sep)
            )
            _log.debug(f"ping: {ping.decode()}")
相关推荐
G果1 天前
ros2工程 debug(vscode)
c++·ide·vscode·编辑器·bug·debug·ros2
前端大波1 天前
利用 codex 自动化实现每日定时拉取 sentry 日志,解决 bug
自动化·bug·sentry
亚林瓜子2 天前
AWS EB使用自定义镜像
云计算·bug·aws·ami·fix·eb·al2023
robinson19882 天前
崖山数据库-谓词没提前过滤优化器BUG
bug·优化器·崖山
我敲!2 天前
Qt中用//进行中文注释可能导致意外的BUG
qt·bug
2301_808414383 天前
测试中BUG的认识
bug
深蓝轨迹3 天前
解决Redis排序后MySQL查询乱序问题:从原因到落地(通用版)
数据库·redis·笔记·mysql·bug
程序员小远4 天前
软件测试常见Bug清单
自动化测试·软件测试·python·功能测试·测试工具·测试用例·bug
IT 行者5 天前
Spring Boot 4.0.5 正式发布:Bug 修复与依赖升级
spring boot·后端·bug
pip install USART6 天前
解决@Autowired注解失败导致空指针bug
java·spring·bug