流式输出使用 Server-Sent Events (SSE), 让服务器以事件流的形式返回内容增量。流式响有利于提供实时反馈,通过允许文本在生成时显示来增强用户交互。
要启用流式输出,你必须在请求中设置 "stream": true。
提示:在推理模型上使用流式输出时,你可能需要手动覆盖请求超时,以避免过早关闭连接。
流式输出示例
Python (xAI SDK)
import os
from xai_sdk import Client
from xai_sdk.chat import user, system
client = Client(api_key=os.getenv('XAI_API_KEY'), timeout=3600)
chat = client.chat.create(model="grok-4.5")
chat.append(system("You are Grok, a helpful AI built by xAI."))
chat.append(user("Explain how neural networks learn in two sentences."))
for response, chunk in chat.stream():
print(chunk.content, end="", flush=True) # 每个块的内容
print(response.content, end="", flush=True) # 自动累积的完整响应
print(response.content) # 完整响应你将收到如下事件流:
data: {
"id":"<completion_id>",
"object":"chat.completion.chunk",
"created":<creation_time>,
"model":"grok-4.5",
"choices":[{"index":0,"delta":{"content":"Ah","role":"assistant"}}],
"usage":{"prompt_tokens":41,"completion_tokens":1,"total_tokens":42}
}
data: {
"id":"<completion_id>",
"object":"chat.completion.chunk",
"created":<creation_time>,
"model":"grok-4.5",
"choices":[{"index":0,"delta":{"content":" neural"}}]
}
data: [DONE]推理模型的流式输出
对于推理模型(如 grok-4.5),流式输出还会包含推理摘要的增量。 你可以在最终响应之前看到模型的推理过程摘要。