Flask 中如何实现边生成边传输数据流?

flask 中如何实现边生成边传输数据流?

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 和 "!"。

以上就是Flask 中如何实现边生成边传输数据流?的详细内容,更多请关注硕下网其它相关文章!