跳到主要内容

流式接收会话事件

GET 

/v1/sessions/:session_id/events

以服务器推送事件跟踪会话。每一帧都带着所属任务的 task_id。一个任务会发送:task.started;回复文字生成过程中,带着回复文字的 text.delta 帧;每个正在进行的步骤一条 task.progress(带一个 category——search、image、video、music、memory、analysis、other——和一段简短的 text);它生成的图片、视频、音频或文件改变 status(running、completed、failed、canceled;完成的带一个链接会过期的 attachment,失败的带一个 error)时,发送 media.updated;在 a2ui 会话里,每当任务的界面数据变化,发送带完整界面数据的 ui.updated;带最多 3 条用户接下来可能发送的消息的 suggestions;最后由一个 task.completed、task.stopped 或 task.failed 帧结束任务,该帧的 text 是完整回复。生成的媒体在任务结束后仍可能被报告。每一帧都有自己的 id。要跟踪你开启的任务,请把其请求返回的 last_event_id 作为 Last-Event-ID 发送:事件流会从这个任务的第一帧开始发送(0 则从会话开头发送)。不带 Last-Event-ID 时,事件流从现在开始——之前的回复从消息列表读取。一条连接最长持续 10 分钟;把 Last-Event-ID 设为最后一帧的 id 重连,就能紧接着它继续。没有内容可发时,每 15 秒会有一条 : ping 注释:如果 45 秒内什么都没收到,就当作连接已断开并重连。每个用户同时最多保持 16 条事件流,每个会话最多 4 条——再打开一条会结束最早的一条:优先结束该会话上最早的,否则结束该用户最早的。只有当该用户持有的每一条事件流都是在最近 10 秒内打开的,新的事件流才会被拒绝。

请求​

响应​

服务器推送事件。在 a2ui 会话里,已完成或已停止的任务的结束帧还会带上界面数据(ui)。