ChatGPT API流式输出教程:代码中设置stream参数详解
要启用流式输出功能,需要将stream参数设为true并配合SSE客户端处理:在请求体中明确设置"stream": true、选用支持流式输出的模型、避免使用可能产生冲突的参数;通过iter_lines或getReader解析text/event-stream格式的数据;持续拼接delta.content内容直至遇到空值表示结束;同时监控连接关闭与错误事件,并实施重连机制。

当您调用ChatGPT API时,如果希望逐字或逐token接收响应内容,而不是等待完整回复生成后再一次性返回,就需要开启流式输出功能。以下是实现该功能的具体步骤:
一、设置请求体中的stream参数为true
流式输出的实现依赖于在API请求中明确指定stream字段为布尔值true,服务端将据此切换为SSE(Server-Sent Events)响应格式,持续推送token片段。
1、在构造JSON请求体时,确保包含"stream": true字段,且该字段不能被字符串化或遗漏。
2、确认model字段值为支持流式响应的模型,例如"gpt-3.5-turbo"或"gpt-4"等文档明确标明支持stream的型号。
3、避免同时设置logprobs或top_logprobs等可能与流式输出不兼容的参数,除非文档明确说明其共存可行性。
二、使用支持SSE的HTTP客户端处理响应
标准HTTP请求库通常默认等待响应结束,而流式响应需要以事件流方式持续读取,因此必须选用能解析text/event-stream MIME类型的客户端。
1、在Python中使用requests库时,需调用response.iter_lines()并手动剥离data:前缀及换行符。
2、在Node.js中使用fetch时,需通过response.body.getReader()配合decoder.decode()逐块解析UTF-8流数据。
3、关键提示:必须按行分割响应内容,并过滤空行和event: ping等心跳帧,仅提取以data:开头的有效载荷。
三、解析delta内容并拼接完整响应
每个SSE消息体中的data:字段携带一个ChatCompletionChunk对象,其delta.content字段包含当前批次的文本片段,需累积至最终结果。
1、初始化一个空字符串变量用于存储累计文本内容。
2、对每个合法的data:行执行JSON解析,提取delta.content字段值。
3、注意:首个chunk的delta可能为空对象或仅含role字段,content字段首次出现才开始追加;末尾chunk的delta.content为null,标志流结束。
四、处理异常中断与连接保活
流式连接易受网络抖动影响,需主动识别中断信号并决定是否重试,同时应对服务端发送的error事件做出响应。
1、监听底层连接关闭事件(如reader.closed或response.status !== 200),触发错误处理逻辑。
2、检查SSE消息中是否存在event: error及后续data:内嵌的错误码与消息,例如{"error":{"code":"rate_limit_exceeded"}}。
3、严禁忽略status字段为200但实际返回error事件的情况,此类响应仍属失败,需按错误类型区分重试策略。
热门专题
热门推荐
```html 2025年9月ADA将剑指何方?一文读懂Cardano突破1美元的关键战役 2025年9月,加密市场的目光再次聚焦于Cardano及其原生代币ADA。随着价格在0 80美元关键支撑位附近盘整,一个核心议题浮出水面:ADA能否借助生态里程碑与宏观转向的东风,在本月一举攻克并站稳1美元大
什么是币安矿池?全面解读主流矿池的核心优势 当人们谈论加密货币挖矿时,脑海中浮现的往往是巨大的矿机和轰鸣的机房。然而,一个更具效率与稳定性的选择正成为全球矿工的新宠——币安矿池。作为全球领先的加密货币交易所币安旗下的核心服务之一,币安矿池本质上是一个聚合全球算力的去中心化矿池平台。它允许矿工将个人算
《洛克王国:世界》灵魂环印使用攻略 灵魂环印是《洛克王国:世界》中提升魔法师耐力的核心道具,千万别舍不得使用。它能为你的角色快速“充电”,显著增强魔法师的续航能力。耐力属性直接影响实战中的操作流畅度与技能释放频率,无论是PVP竞技还是挑战高难度BOSS,充足的耐力条都能带来截然不同的游戏体验。使用灵
OKX鲨鱼鳍:一款兼顾本金安全与潜在高收益的结构化理财产品 在加密货币理财的世界里,你是否也常纠结于如何在控制风险的同时,追求比普通活期、定期更高的收益?OKX交易所推出的“鲨鱼鳍”结构化产品,或许提供了一个巧妙的解决方案。 简单来说,这是一款保本型理财产品。你只需选定一个币种,并对其未来1到7天的
角色一:小萤 谈及机动性与灵活走位,小萤无疑是游戏中的顶尖代表。其核心优势在于无与伦比的战场穿梭能力,得益于独特的轻盈步伐,闪避各类攻击对她而言游刃有余。她的标志性技能“微光闪烁”,可提供短时爆发性移速加成,无论是用于切入战场先手开团,还是关键时刻脱离险境,都能起到决定性作用。 精通小萤的关键,在于





