
python flask 中边生成边传输数据流
在 flask 中实现类似于 chatgpt 的边生成边传输数据流,需要使用 stream_with_context()。
代码示例:
from flask import stream_with_context, request
@app.route('/stream')
def streamed_response():
def generate():
yield 'Hello '
yield request.args['name']
yield '!'
return app.response_class(stream_with_context(generate()))说明:
- stream_with_context() 返回一个生成器函数,用于生成数据流。
- 生成器函数分步生成数据项,并在每个项之间使用 yield。
- app.response_class 用于创建一个响应对象,其中包含生成的数据流。
- 在此示例中,生成器函数将生成 "hello "、请求查询参数中的 name 和 "!"。










