跳到主要内容

3 篇博文 含有标签「sse」

查看所有标签

LLM 应用中的 SSE vs WebSockets vs gRPC Streaming:那个稍后会让你头疼的协议抉择

· 阅读需 13 分钟
Tian Pan
Software Engineer

大多数构建 LLM 功能的团队选择流式协议的方式就像选择字体一样:快速、不加思索,然后忍受由此带来的后果多年。这种选择第一次让你踩坑通常是在生产环境中——比如 CloudFlare 524 超时导致你的 SSE 流损坏,WebSocket 服务器在持续负载下发生内存泄漏,或者 gRPC-Web 集成在单元测试中表现良好,但在客户端需要向上游发送消息时静默失败。协议决定了你的故障模式。基于基准吞吐量进行选择是一个错误的切入点。

每个主要的 LLM 提供商——OpenAI、Anthropic、Cohere、Hugging Face——都通过 Server-Sent Events (SSE) 流式传输 Token。这一事实是一个强有力的先验理由,但并不是因为 SSE 快。而是因为 SSE 是无状态的,能与 HTTP 基础设施轻松兼容,且其故障模式是可预测的。问题的关键在于你的应用是否有某些需求迫使你偏离这条路径。

实时智能体 UI 背后的流式传输基础设施

· 阅读需 15 分钟
Tian Pan
Software Engineer

大多数智能体流式实现都会在以下四个方面出错:代理静默地吞掉了流、用户关闭标签页而智能体却在后台运行导致持续消耗 token、页面刷新导致任务丢失,或者工具调用在流的中途失败而智能体陷入静默空闲。这些都不是模型问题。它们是基础设施问题,是团队在本地测试良好,但在生产环境中才会发现的问题。

这篇文章讨论的就是这种差距 —— 服务器端架构的决策决定了一个实时智能体 UI 是否真正可靠,而不仅仅是在演示环境中看起来令人惊叹。

生产环境中的流式 AI 应用:没人警告过你的那些坑

· 阅读需 12 分钟
Tian Pan
Software Engineer

第一个出问题的迹象:你的测试环境流式传输完美,但在生产环境中,每个用户都会看到一个空白屏幕,接着整个响应一次性出现。你检查了 LLM 提供商 —— 没问题。你检查了后端 —— 没问题。服务器正在流式传输 Token,但它们就是没能到达浏览器。

90% 的情况下,罪魁祸首是:NGINX 正在缓冲你的响应。

这是最常见的流式传输故障模式,而且除非你知道要去寻找它,否则它完全是不可见的。它还反映了生产环境流式传输中更广泛的问题:问题通常不在 LLM 集成上,而在于模型和用户之间的所有基础设施中。