Claude API 流式输出 — Server-Sent Events 实现指南
启用 stream: true 实现 SSE 流式响应,逐 Token 推送,降低首 Token 延迟。Python / TypeScript 完整示例。
启用流式输出
在请求体中加入 "stream": true,响应将变为 SSE (Server-Sent Events) 流。每个 Token 会立即推送,无需等待整体生成完成。
Python 示例
Anthropic SDK 流式python
from anthropic import Anthropic
client = Anthropic(
api_key="sk-cs2-...",
base_url="https://api3.claudestore.store"
)
with client.messages.stream(
model="claude-sonnet-4.6",
max_tokens=1024,
messages=[{"role": "user", "content": "用中文写一首关于秋天的短诗"}]
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)TypeScript 示例
Anthropic SDK 流式typescript
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: "sk-cs2-...",
baseURL: "https://api3.claudestore.store",
});
const stream = await client.messages.stream({
model: "claude-sonnet-4.6",
max_tokens: 1024,
messages: [{ role: "user", content: "用中文写一首关于秋天的短诗" }],
});
for await (const chunk of stream) {
if (chunk.type === "content_block_delta" && chunk.delta.type === "text_delta") {
process.stdout.write(chunk.delta.text);
}
}SSE 事件类型
message_start— 消息开始(含 Token 用量初始值)content_block_start— 内容块开始content_block_delta— 文本增量(最常见)content_block_stop— 内容块结束message_delta— 消息状态更新(含累计 Token)message_stop— 消息结束
流式输出可降低首 Token 延迟到 200–500ms,是聊天/编程辅助场景的强烈推荐。