ChatGPT开发指南

Responses API 开发指南:请求、输出与流式事件

作者:AI 使用指南编辑部 · 发布于 2026/7/13 · 更新于 2026/7/13

Responses API 是当前 OpenAI 新项目进行直接模型请求的主线接口。它既能生成普通文本,也能承载多轮状态、图像输入、结构化输出和工具调用。开发重点不是记住所有参数,而是正确区分请求规则、用户输入与多种输出项目。

1、组织一次基本请求

const response = await client.responses.create({
  model: process.env.OPENAI_MODEL || "gpt-5.6",
  instructions: "你是中文客服助手。信息不足时先提问。",
  input: "我的订单状态在哪里查看?",
});

console.log(response.output_text);

instructions 描述当前请求中的应用规则,input 放用户任务与材料。使用 previous_response_id 继续会话时,不要假设上一轮的 instructions 会自动成为本轮规则;需要持续执行的关键约束应在每次请求中明确提供。

2、正确读取输出

response.output 是一组带类型的项目,可能包含文本消息、函数调用或其他数据。简单文本应用可以读取 SDK 提供的 output_text,但工具应用要遍历 output,按 type 分支处理。不要固定读取 output[0].content[0].text,因为数组顺序和项目类型不能满足这个永久假设。

还要区分正常完成、拒绝、失败和不完整状态。面向用户的错误信息应简洁,详细响应标识与底层错误留在经过脱敏的服务端日志中。

3、什么时候启用流式输出

长回答适合设置 stream: true,通过服务器发送事件(SSE)逐步读取语义事件:

const stream = await client.responses.create({
  model: "gpt-5.6",
  input: "写一份产品发布检查清单。",
  stream: true,
});

for await (const event of stream) {
  if (event.type === "response.output_text.delta") {
    process.stdout.write(event.delta);
  }
}

生产代码还要处理完成、失败、拒绝、断线和用户取消。流式输出缩短的是用户看到第一个字符的等待,不保证总耗时更短,也会让内容审核更复杂。下一页说明旧 Assistants API 项目如何迁移到这套接口。

参考来源