当前位置:   article > 正文

请在贵网站的根目录下部署一个文件_如何将Rasa聊天机器人框架部署到linux,简明教程(适合收藏)...

rasa 部署

文/IT可达鸭

图/IT可达鸭、网络

前言

这几天一直在研究linux环境下安装配置rasa框架,顺便整理一下安装步骤,以后可以查看。

建议:本文适合收藏,里面每个步骤都是实际开发中遇到的,这里不涉及Rasa聊天机器人框架的源码,因为源码在网上获取非常方便。这里只是单纯介绍部署的步骤,以及如何解决一些遇到的问题。

本文不建议直接拿来用,因为网上有很多介绍关于rasa机器人的部署,特别是对于windows环境下的部署,已经有很多成熟的部署步骤。但是对于linux部署,小编是一直找不到合适的部署方法。

于是,小编通过不断尝试,不断总结,才有了本文。所以,大家可以先在windows下部署,如果成功了,想移植到linux环境下,可以回头来看看这篇文章,相信对你有很大的帮助。

21de91059f07d4c3b5e3cbaca5cfe6d4.png
环境: centos7、 python 3.6.2目标: 安装flask+uwsgi+Rasa1.10.2+MITIE+tensorflow2.0+supervisor服务

linux虚拟环境安装

备注: 没有安装pyenv, 可以在linux下安装pyenv。 pyenv 类似于windows下的Anaconda,主要用于python的版本管理。

  1. 查看pyenv托管了哪些python版本
 $ pyenv versions
edf81d781f0de591c9774b52dac101ae.png
  1. 使用pyenv安装python环境(已经安装好的可以跳过)
 $ pyenv install -v 3.6.2
  1. 安装时报错ModuleNotFoundError: No module named '_ctypes'的解决办法
yum install libffi-devel 

项目配置

  1. 从git上拉下项目( git-url 替换成实际的git地址)
git clone -b master git-url
  1. 进入代码根目录,新建虚拟环境
# 当前目录 $cd chatBotRasa
d9614dd702f667dde263f42536d12617.png
  1. 创建虚拟环境
# 当前python环境切换到3.6.2$ pyenv global 3.6.2# 在当前项目根目录下新建虚拟环境目录$ virtualenv venv_rasa_362# 切回之前的python环境(保证原始环境不变, 假设原始环境是python 3.6.0)$ pyenv global 3.6.0
  1. 在项目的根目录下新建几个目录
$ mkdir log$ mkdir logs$ mkdir models
  1. 对应的模型放到指定目录下
total_word_feature_extractor_zh.dat  # 放到 data 目录下20200615-225841.tar.gz  # 放到models下(不同版本rasa对应不同版本的模型,否则要重新训练)

【安装虚拟环境的rasa相关python包】

  1. 进入虚拟环境
$ source venv_rasa_362/bin/activate
  1. 退出虚拟环境
$ deactivate
  1. 安装rasa==1.10.2 , 安装失败,多安装几次就可以了
$ pip --default-timeout=1000 install rasa==1.10.2
  1. 安装项目其他的包
$ pip install -r requirements.txt
59ab0e0e7f9ea7b3fd34e9318e5e46ed.png
  1. 安装MITIE (第一步容易安装失败,多安装几次就可以了)
$ pip install git+https://github.com/mit-nlp/MITIE.git$ pip install rasa[mitie]
  1. 安装uwsgi
$ pip install uwsgi

uwsgi 配置文件, 一般放在代码根目录下,例如:/opt/algorithm/chatBotRasa/chatBotRasa_config.ini

8a5f66454422fe6abd7a9a3e6f90c989.png

【启动rasa的两个服务】

(以脚本的形式,均需要在虚拟环境下进行。 一般更改模型的话,主线程App.py 不用重启,只要重启一下两个服务即可。运行脚本命令: $ sh xxxx.sh)

  1. 开启第一个服务 start_one_rasa.sh
nohup python -m rasa run --port 5005 --endpoints configs/endpoints.yml --credentials configs/credentials.yml --debug > ./log/start_one_rasa.log  2>&1 &
  1. 查看第一个服务 check_one_rasa.sh
# 查看端口对应的线程netstat -tunlp|grep 5005
  1. 关闭第一个服务 kill_one_rasa.sh
fuser -k -n tcp 5005
  1. 开启第二个服务 start_two_rasa.sh
nohup python -m rasa run actions --port 5055 --actions actions --debug > ./log/start_two_rasa.log  2>&1 &
  1. 查看第二个服务 check_two_rasa.sh
# 查看端口对应的线程netstat -tunlp|grep 5055
  1. 关闭第二个服务 kill_two_rasa.sh
fuser -k -n tcp 5055

【在线训练模型】

  1. 进入虚拟环境,进入项目根目录
# 模型训练: 该命令会同时训练NLU和Core模型# 前提是安装好MITIE模块$ python -m rasa train --config configs/config.yml --domain configs/domain.yml --data data/

【配置supervisor】

  1. 安装配置supervisor (非虚拟环境)

安装supervisor(一般是提前安装好了):

yum install supervisor

增加配置文件, 例如命名为: chatBotRasa_supervisor.ini

保存在 /etc/supervisord.d/chatBotRasa_supervisor.ini

注意事项:

(1) 如果网站所在的目录为chatBotRasa, 则建议ini文件命名为: chatBotRasa_supervisor.ini

(2) 如果有多一个网站,目录为charts, 则可以新建多个文件: charts_supervisor.ini

(3) 多个xxx_supervisor.ini 文件,Supervisor 会同时允许加载多个配置

94cc826a5155ccc9e23f1d3db4e9f765.png
  1. 启动停止supervisord (只有单个服务时适用, 或者首次启动)

(1) 启动supervisord: supervisord -c /etc/supervisord.conf

(2) 停止 supervisord(需要多次停止才能生效):supervisorctl shutdown

(3) 重启服务(里面的配置也会更新):supervisorctl reload

  1. 启动停止指定supervisord

(1) 查看所有子进程的状态:

$ supervisorctl status
b7227dd8c927dbc50ce16b557c201e3d.png

(2) 关闭开启指定子进程:

$ supervisorctl restart chat_bot_rasa    # 重启$ supervisorctl stop chat_bot_rasa       # 停止$ supervisorctl start chat_bot_rasa      # 启动

(3) 关闭、开启所有的子进程

$  supervisorctl stop all$  supervisorctl start all
  1. 管理相关进程

(1) 查看相关进程: netstat -ntlp | grep 9108

(2) kill某个端口: fuser -k -n tcp 9108

【项目在线调试】

1. 进入虚拟目录: source my_venv/bin/activate

2. 启动项目: uwsgi dataSys_config.ini

3. 调试结束后,记得删除 项目下log目录下的日志(supervisord的调试日志)否则项目不能正常启动

结语

学习python,不需要一杯奶茶钱,只需要你点个关注。如果觉得小编的文章对你有帮助,记得点个赞,顺便帮我分享出去。有什么不明白的地方,欢迎在下方评论,或私信小编。最后,感谢大家的阅读,祝大家生活愉快。

本文由 IT可达鸭 原创,欢迎关注,带你一起长知识!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/343565?site
推荐阅读
相关标签
  

闽ICP备14008679号