跳到主要内容

OpenAI 长请求与流式返回配置指南

:::tip 推荐优先使用 Responses API 对于长文本生成、代码编写和复杂推理任务,推荐优先使用 `/v1/responses` 接口并启用流式返回。

Responses API 更适合长耗时任务,能够以结构化事件持续返回文本、推理状态和工具调用结果,客户端也更容易处理流式增量、工具调用及复杂响应。仅在兼容旧版 OpenAI SDK 或现有应用时,再使用 `/v1/chat/completions`。 :::

当请求上下文很长、预期输出较多,或上游需要故障转移重试时,非流式请求必须等待完整响应生成后才会一次性返回。客户端如果只等待 30~60 秒,可能会先超时断开;服务端后续仍可能收到上游响应并记录用量。

推荐配置​

优先为 /v1/chat/completions 请求启用流式返回:

{
"model": "gpt-5.5",
"stream": true,
"messages": [
{ "role": "user", "content": "请分析这份长文档" }
]
}

长请求建议把客户端超时设置为至少 120 秒;代码生成、长文档分析、批量总结等场景建议设置为 180 秒或更高。

Python SDK 示例​

from openai import OpenAI

client = OpenAI(
base_url="https://api.muskapi.cc/v1",
api_key="YOUR_API_KEY",
timeout=180,
)

stream = client.chat.completions.create(
model="gpt-5.5",
messages=[{"role": "user", "content": "请分析这份长文档"}],
stream=True,
)

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

Node.js SDK 示例​

import OpenAI from "openai";

const client = new OpenAI({
baseURL: "https://api.muskapi.cc/v1",
apiKey: "YOUR_API_KEY",
timeout: 180_000,
});

const stream = await client.chat.completions.create({
model: "gpt-5.5",
messages: [{ role: "user", content: "请分析这份长文档" }],
stream: true,
});

for await (const chunk of stream) {
const delta = chunk.choices[0]?.delta?.content;
if (delta) process.stdout.write(delta);
}

什么时候应避免非流式请求​

  • 输入上下文很长,例如大段日志、代码仓库片段或长文档。
  • 预期输出很多,例如生成报告、代码或全文翻译。
  • 使用的上游账号偶尔需要故障转移或重试。
  • 客户端、浏览器、代理或网关存在 30~60 秒空闲超时。

使用记录中的“流式教程”是什么意思​

如果用户中心的使用记录中,某条 /v1/chat/completions 请求显示“流式教程”,表示该请求使用了非流式模式,并且总耗时超过 30 秒。此类请求已经接近常见客户端的超时窗口,建议启用 stream: true,并适当提高客户端 timeout。