如何使用 gunicorn 运行 多线程模式下的 RASA 服务器

How to run RASA Server in multi thread mode using gunicorn

Rasa 服务器 运行在使用单线程的服务器上运行良好。 python -m rasa_nlu.server --path projects --emulate dialogflow --response_log logs

我正尝试在服务器上 运行 它并希望启用多线程。 根据 RASA 文档,(https://nlu.rasa.com/0.8.12/http.html) 我正在尝试 运行 下面的命令。

gunicorn -w 4 --threads 12 -k gevent -b 127.0.0.1:5000 rasa_nlu.wsgi

这给了我以下错误。

求推荐。

这不再可能了,您指向的 Rasa 文档是针对 0.8 版的,它们现在是 0.12 版。有几个因素导致了为什么取消对此的支持,主要是:

  • 语言模型的高内存使用率
  • 从 Flask 转移到 Klein 进行异步训练

这是一个包含更多信息的 Github 问题:https://github.com/RasaHQ/rasa_nlu/issues/793

如果您想要更高的 /parse 请求总吞吐量,那么建议使用 Docker 结合 nginx 以在同一台服务器上 运行 多个实例 - 如果服务器大到足以处理它 - 或者 运行 多个较小的实例,仍然有一个 nginx 反向代理。

请注意,培训已转移到单独的流程中。可以使用 --max_training_processes 参数设置可用于训练的进程数。 Rasa 管道的一些组件也支持多线程。这些管道组件可用的线程数可以使用 --num_threads 参数设置。