You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask SSE接口在Postman中返回空响应的原因排查

Flask流式返回ChatGPT响应:Postman返回空响应的原因及解决办法

问题背景

我正在开发一个Flask端点,用于流式返回OpenAI ChatGPT API的响应,核心代码如下:

def get_report_stream(msg):
    completion = openai.ChatCompletion.create(engine="gpt-4", messages=[
            {"role": "system", "content": prompt()},
            {"role": "user", "content": str(msg['Val'])},
        ], stream=True)
    
    for line in completion:
        if 'content' in line['choices'][0]['delta']:
            yield line['choices'][0]['delta']['content']

@app.route("/load", methods=["POST"])
def load_bs_into_df():
    stream = request.form.get('stream', default=False, type=bool)
    file_path = 'input.xlsx'
    input_data = load_data_from_excel(file_path)
    if stream:
         return Response(stream_with_context(get_report_stream(input_data)), mimetype='text/event-stream')
    else:    
        report = get_report_whole(input_data)
        return {"df": input_data, "report": report}

使用curl命令测试时,控制台能正常接收流式响应:

curl -X POST -d "stream=true" http://127.0.0.1:5000/load 

但通过Postman发送请求时,仅返回若干空响应,请问这是什么原因?

原因分析及解决方案

1. 响应未遵循SSE规范

你当前的代码直接yield纯文本内容,但**Server-Sent Events(SSE)**要求每条消息必须以data: 前缀开头,且以\n\n(两个换行符)结尾。curl能兼容简单的流式输出,但Postman严格遵循SSE格式校验,无法识别不符合规范的内容,因此显示为空。

修改get_report_stream函数,按照SSE规范包装输出内容:

def get_report_stream(msg):
    completion = openai.ChatCompletion.create(engine="gpt-4", messages=[
            {"role": "system", "content": prompt()},
            {"role": "user", "content": str(msg['Val'])},
        ], stream=True)
    
    for line in completion:
        if 'content' in line['choices'][0]['delta']:
            # 按SSE规范格式化每条消息
            yield f"data: {line['choices'][0]['delta']['content']}\n\n"

2. Postman的SSE处理设置问题

即使修复了响应格式,Postman默认可能需要调整设置才能正确显示流式响应:

  • 在请求的Headers中添加Accept: text/event-stream,明确告知服务器客户端支持SSE格式
  • 发送请求后,切换到响应的Raw视图查看流式内容(Postman的"Pretty"视图可能无法实时解析SSE)
  • 关闭请求设置中的"Automatically follow redirects"选项,避免重定向中断流式传输

内容的提问来源于stack exchange,提问作者Alex T

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 08:26:15