python - Flask 允许分块数据还是使用不同的库?
问题描述
嗨,我正在开发一个 python rasa 聊天机器人项目,该项目使用以下代码教程:https ://github.com/RasaHQ/rasa_core/issues/119允许发布对 rasa 框架的调用。我遇到了一个问题,如果 post 调用以块的形式出现,python 将无法接受这一点。有没有办法通过 Flask 接受分块数据,或者你会推荐不同的 webhook 库吗?先感谢您!
Python:
class SimpleWebBot(HttpInputComponent):
"""A simple web bot that listens on a url and responds."""
def blueprint(self, on_new_message):
custom_webhook = Blueprint('custom_webhook', __name__)
CORS(custom_webhook)
@custom_webhook.route("/webhook", methods=['POST'])
def receive():
payload = request.json
sender_id = payload.get("sender", None)
text = payload.get("message", None)
out = CollectingOutputChannel()
on_new_message(UserMessage(text, out, sender_id))
responses = [m for _, m in out.messages]
return jsonify(responses)
解决方案
在我看来,对输入通道的分块调用没有任何意义。您发送到 Rasa Core 输入通道的有效负载应该非常小。通常它们包括
- 发件人 ID
- 一些授权标头
- 用户给机器人的消息
这应该是几千字节的大小,这使得分块请求的使用效率低下。
推荐阅读
- c++ - C++ 上 gRPC 中的跟踪支持
- flutter - Flutter:如何在 Flutter 项目中添加字体
- markers - 将一组标记放在传单的前面
- html - Cutycapt 和恒定图像大小输出
- google-chrome - 为什么 HTTP 在 UDP 中运行
- java - 如何在不使用两个 JSP 文件的情况下在 JSP 中上传文件?
- sql - 优化有条件的两个表的选择查询
- powershell - Powershell脚本获取完整路径并获取文件版本
- python - 在python中读取带有二进制内容的arff文件时出现ValueError
- android - 如何在 MainActivity 中使用 DaggerAppCompatActivity