Hello! 欢迎来到小浪资源网!


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 和 “!”。

相关阅读