外观
如何理解流式输出、超时与取消?
标准回答
流式输出改善等待期间的反馈,但需要分别记录首个有效内容时延、整体完成时延和中途失败率。网络首字节可能只是心跳或协议头,不应自动当作模型开始生成有效内容。
客户端关闭页面时,应将取消沿代理和上游传播,同时处理已经发生的用量。读取端要增量解析协议边界,不能假定一次网络读取就对应一个完整事件;UTF-8 字符和 JSON 片段都可能被分割。
超时可以拆成连接、首个有效输出、流空闲和总体期限。代理缓冲、连接池、反向代理超时与浏览器状态都会影响体验。取消之后仍可能收到晚到片段,前端应校验请求版本,服务端要用唯一结束状态收口。
追问与回答
断线后能否自动重放整个请求
要确认请求是否会重复产生费用或副作用。可优先查询已记录任务状态;无恢复协议时应明确重新发起的含义。
对话与图像生成能否用同样的等待方式
不一定。长耗时图像任务可能更适合任务 ID、轮询或通知;用户能离开页面并恢复结果,比保持无限 HTTP 连接更可靠。
易混淆点
- 把客户端停止读取当成上游一定停止计费。
内容来源
- Android 与 AI 工程 Wiki · 原条目
q143