用途:通过 OpenRouter 的 Server-Sent Events(SSE)流式返回模型输出,兼容 OpenAI SDK,适合构建聊天界面、降低首字延迟(TTFT)和处理长文本输出。
主要能力:使用 stream: true 逐 token 返回;通过 stream_options: {"include_usage": True} 在最后一个 chunk 获取 token 用量;提供 Python 与 TypeScript 示例;可将 SSE 转发到浏览器;支持异步流式与错误恢复。
使用方式:需 OpenRouter API key(sk-or-v1-...)并导出为 OPENROUTER_API_KEY;Python 3.8+ 或 Node.js 18+ 及 OpenAI SDK;转发到浏览器需 FastAPI。基础调用设置 base_url="https://openrouter.ai/api/v1",传入 stream=True 与 stream_options={"include_usage": True},遍历 chunk.choices[0].delta.content。TypeScript 使用 for await 循环。FastAPI 端点以 StreamingResponse 返回 text/event-stream,逐条发送 data: {"token": ...},最后发送 data: [DONE];浏览器端用 fetch 与 reader 循环解析并追加到 DOM。异步框架可用 AsyncOpenAI。
适用场景:面向用户的实时聊天与生成界面、需要监控 TTFT 与 token 用量的服务、批量或后台任务建议改用非流式。
限制与注意:流式请求需更长超时(如 120s);未设置 stream_options 则无用量统计;空 delta 可能是 keep-alive 心跳需过滤;finish_reason: "length" 表示达到 max_tokens;流中断需保存部分内容并重试;建议检测心跳(超过 30s 无 chunk 视为断开)。具体收费、价格与平台支持情况暂未提供。