流式响应
使用 SSE 接收和取消流式响应。
SSE 分帧
流式文本操作返回 Content-Type: text/event-stream。必须解析完整 Server-Sent Event;TCP chunk 不是 event 边界,可能只包含半个 event,也可能同时包含多个 event。
const response = await fetch(process.env.GETRUN_BASE_URL + '/responses', {
method: 'POST',
signal: controller.signal,
headers: {
Authorization: `Bearer ${process.env.GETRUN_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ model: 'YOUR_MODEL', input: '你好', stream: true }),
});
if (!response.ok || !response.body) throw new Error(`HTTP ${response.status}`);请使用 SSE parser,或持续缓冲直到取得由空行分隔的完整 event。不要对每个原始网络 chunk 直接执行 JSON.parse。
取消请求
用户停止生成时,请通过 AbortController 取消 HTTP 请求。连接中断后,原请求仍可能已经完成;重试前先查看用量记录,避免产生重复输出和费用。