主题
流式相关问题
NovelAI 绘图例外
下文的逐字输出和缩短回复建议用于文本对话。NovelAI 绘图即使选择流式,也需等待图片生成完成才返回最终图片,不提供中间预览;切换流式不保证减少等待时间或超时风险。点数预算限制费用,不控制生成耗时。
自行实现客户端时,请按所用端点解析响应,各格式不能混用:Chat 流式响应、Images 文生图流式响应、Images 图生图响应、原生流式响应。
流式和非流式有什么区别?
| 对比项 | 流式(stream: true) | 非流式(stream: false) |
|---|---|---|
| 响应方式 | 模型边生成边推送,用户看到逐字输出 | 等模型生成完毕后一次性返回 |
| 首字延迟 | 低——模型开始生成就立即推送 | 高——需要等待完整回复生成完毕 |
| 超时风险 | 低——只要数据持续传输,连接就不会超时 | 高——长回复可能超过网关超时阈值 |
| 协议 | Server-Sent Events(SSE) | 标准 HTTP JSON 响应 |
建议:除非有特殊需求,优先使用流式模式。
为什么流式响应中途断了?
常见原因:
- 网络波动:客户端与服务器之间的网络连接中断。这在移动网络或不稳定的 Wi-Fi 环境下较常见
- 上游中断:上游模型服务自身出现问题,中断了响应
- 客户端主动断开:部分客户端在用户切换页面或关闭窗口时会断开连接
解决方法:
- 使用支持防断流的线路(全球加速-1/2、cf-2),这些线路会在中间层缓冲响应,降低因网络波动导致的断流
- 使用支持断点续传的线路(全球加速-2、cf-2),断连后可以从断点继续接收剩余内容
防断流线路是怎么工作的?
普通直连模式下,上游的 SSE 数据直接透传给客户端——中间任何一个环节网络抖动都会导致断流。
防断流线路在中间增加了一个缓冲层:上游的数据先写入缓冲区,再稳定地推送给客户端。即使上游到中间层之间出现短暂抖动,客户端也不会感知到中断。
支持防断流的线路:全球加速-1、全球加速-2、cf-2。
断点续传是怎么工作的?
支持断点续传的线路(全球加速-2、cf-2)会保留已生成的响应内容。如果连接中断,客户端重新发起相同请求时,可以从上次断开的位置继续接收,而不是从头开始。
非流式请求为什么超时了?
非流式模式下,模型需要生成完整回复后才返回。如果回复较长(比如让模型写一篇长文),推理时间可能超过网关的超时阈值(通常为 100 秒),导致返回 524 Timeout。
解决方法:
