流式响应

使用 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 请求。连接中断后,原请求仍可能已经完成;重试前先查看用量记录,避免产生重复输出和费用。

本页内容