跳轉到主要內容

概述

文字生成端點支援 Server-Sent Events (SSE) 串流輸出,設定 stream: true 即可逐 token 接收結果。

支援串流的端點

  • /v1/chat/completions — OpenAI 相容
  • /v1/messages — Claude Messages
  • /v1/responses — OpenAI Responses API

使用範例

from openai import OpenAI

client = OpenAI(
    base_url="https://qingbo.dev/v1",
    api_key="your-api-key"
)

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

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

SSE 資料格式

每個 chunk 是一行 data: {json} 格式的 SSE 事件:
data: {"id":"chatcmpl-xxx","choices":[{"delta":{"content":"你"},"index":0}]}

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

data: [DONE]
串流結束時會收到 data: [DONE]