OneMux/文档中心/流式输出

流式输出

Server-Sent Events (SSE) 流式输出让 AI 响应像打字机一样逐字返回,提升用户体验。本页介绍如何启用流式输出、解析 SSE 数据块以及处理流式连接。适用于聊天对话、内容生成等场景。

为什么用流式?

  • 大模型响应慢,用户需要即时反馈
  • 类似 ChatGPT 的打字机效果
  • 提升用户体验

启用流式输出

在请求中设置 "stream": true

from openai import OpenAI

client = OpenAI(
    api_key="sk-xxx",
    base_url="https://api.onemux.net/v1"
)

response = client.chat.completions.create(
    model="gpt-6.1-sol",
    messages=[{"role": "user", "content": "写一首诗"}],
    stream=True
)

for chunk in response:
    if chunk.choices[0].delta.content:
        print(chunk.choices[0].delta.content, end="")

SSE 响应格式

流式响应使用 Server-Sent Events (SSE) 格式,每个数据块以 data: 开头:

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"你"}}]}

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"好"}}]}

data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"!"}}]}

data: [DONE]