适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程

前言这几天一直在研究linux环境下安装配置rasa框架 , 顺便整理一下安装步骤 , 以后可以查看 。
 
建议:本文适合收藏 , 里面每个步骤都是实际开发中遇到的 , 这里不涉及Rasa聊天机器人框架的源码 , 因为源码在网上获取非常方便 。这里只是单纯介绍部署的步骤 , 以及如何解决一些遇到的问题 。
本文不建议直接拿来用 , 因为网上有很多介绍关于rasa机器人的部署 , 特别是对于windows环境下的部署 , 已经有很多成熟的部署步骤 。但是对于linux部署 , 小编是一直找不到合适的部署方法 。
于是 , 小编通过不断尝试 , 不断总结 , 才有了本文 。所以 , 大家可以先在windows下部署 , 如果成功了 , 想移植到linux环境下 , 可以回头来看看这篇文章 , 相信对你有很大的帮助 。

适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程

文章插图
 
环境: 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
适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程

文章插图
 
 
  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
适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程

文章插图
 
 
  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 , 安装失败 , 多安装几次就可以了
【适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程】$ pip --default-timeout=1000 install rasa==1.10.2 
  1. 安装项目其他的包
$ pip install -r requirements.txt
适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程

文章插图
 
 
  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
 
适合收藏 如何将Rasa聊天机器人框架部署到linux,简明教程

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


    推荐阅读