gpt4 book ai didi

python - Flask streaming 在完成之前不会返回响应

转载 作者:行者123 更新时间:2023-12-03 19:13:07 24 4
gpt4 key购买 nike

所以我正在尝试流式传输从 sql 数据库返回的数据 block 。这些 block 似乎是流式传输的,但是当我到达端点时,它会在请求完成时在最后显示响应,而不是逐 block 显示流式数据。我知道已经有关于此的问题,但添加 mimetype 似乎对我不起作用。我有以下代码:

非常感谢任何帮助!

       def generate_chunks():
result = _get_query_service(repo_url, True).stream_query(qry)
chunk_counter = 0

while True:
chunk = result.fetchmany(5)
chunk_counter += 1
if not chunk:
break
for value in chunk:
yield str(chunk)

return Response(stream_with_context(generate_chunks()), content_type='application/json', status=200)

最佳答案

其实是一件小事。上面的代码有效。

但 Postman 和 Insomnia 等工具不支持流式数据。

如果您想要查看您的数据流,请使用 CURL 或 python 请求。

对于 CURL,您需要添加 --no-buffer 选项以查看流式数据。

curl --no-buffer -v http://localhost:8082/healthy

对于Python请求,需要添加stream=True。示例:

r = requests.post('http://localhost:8082/stream_query', json=dc, stream=True)

r.encoding = 'utf-8'

for line in r.iter_content(chunk_size=10): # prints the streamed data in chunks
print(line)

关于python - Flask streaming 在完成之前不会返回响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61494859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com