【智能语音机器人】0_Ubuntu20.04下Rasa环境部署

Rasa

一、环境部署

  由于Rasa依赖于Python3.6~3.9版本,笔者对Python、Rasa也才刚开始接触,在这里为了避免麻烦,选择Ubuntu20.04【该系统默认Python版本为Python3.8,同时方便部署在EXSI服务器上进行训练模型或作为对话交互服务器端,并可以考虑将模型移植到树莓派上,便于开发语音机器人及后续更多机器人控制任务】进行部署。
  Rasa和其开发工具Rasa X所依赖的软件包众多,在安装过程中存在共同依赖,因此对这两部分软件版本需要进行合理的选择,这里可以参考官方网页的介绍:Rasa版本矩阵

Rasa XRasa Open SourceRasa SDK
1.1.x3.0.x, 3.1.x3.0.x, 3.1.x
1.0.12.8.252.8.4
0.42.62.8.142.8.3
0.41.22.7.12.7.0
0.40.02.6.22.6.0

  经过多轮的尝试,最终得到能够同时使用Rasa和Rasa X的版本组合,这里选择版本组合为:

  • Rasa X:1.0.1
  • Rasa:2.8.25
  • Rasa SDK:2.8.4

二、基本环境设置

  镜像服务器选择有利于节省Rasa的安装时间,不设置情况下,安装速度基本在几十k/s甚至十几k/s。

1、镜像设置

  更换镜像源可参考中科大镜像源的网页:中科大镜像源,如有需要,可对deb-src部分取消注释。

2、python3-pip安装与设置

  终端下使用命令,安装python3-pip

sudo apt install python3-pip

  使用下述命令创建pip的配置脚本

sudo mkdir ~/.pip
sudo gedit ~/.pip/pip.conf

  在文件中添加以下内容

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
disable-pip-version-check = true
timeout = 6000

三、Rasa安装

  完成上述设置后,即可对Rasa进行安装,笔者为了方便,同时避免依赖冲突,将Rasa、Rasa X、Rasa SDK一同进行安装,安装命令如下:

pip install rasa==2.8.25 rasa-x==1.0.1 rasa-sdk==2.8.4 -i https://pypi.tuna.tsinghua.edu.cn/simple --extra-index-url https://pypi.rasa.com/simple

  如有其他版本的安装需要,可根据情况自行更改上述版本编号。

四、问题排查

  安装过程中,软件的依赖经常深度绑定,使得安装过程中版本冲突的问题比较多,以下是笔者多次实践过程中所遇到的一些问题,以及通过ChatGPT辅助找到的解决措施。

1、tensorflow.python.framework.errors_impl.NotFoundError

问题示例:
在这里插入图片描述

  File "/home/wenyun/.local/lib/python3.8/site-packages/rasa/utils/tensorflow/callback.py", line 5, in <module>
    import tensorflow as tf
  File "/home/wenyun/.local/lib/python3.8/site-packages/tensorflow/__init__.py", line 438, in <module>
    _ll.load_library(_main_dir)
  File "/home/wenyun/.local/lib/python3.8/site-packages/tensorflow/python/framework/load_library.py", line 154, in load_library
    py_tf.TF_LoadLibrary(lib)
tensorflow.python.framework.errors_impl.NotFoundError: /usr/local/lib/python3.8/dist-packages/tensorflow/core/kernels/libtfkernel_sobol_op.so: undefined symbol: _ZNK10tensorflow8OpKernel11TraceStringB5cxx11ERKNS_15OpKernelContextEb

解决措施:
  这个错误表明在加载TensorFlow的libtfkernel_sobol_op.so库文件时,找不到某个符号,这通常是由于版本不兼容或者安装不完整引起的。可以将TensorFlow卸装后重装进行解决,但要注意sudo、pip3、pip这些情况下并不公用,都会存在相同的软件安装包,在卸装的过程中,需要将这些都卸装干净,随后在通过安装rasa、rasa-x、rasa-sdk的命令进行安装,此时会根据需要所依赖的版本,直接使用pip install tensorflow安装,会选择最新的发布版本,容易产生冲突。相关命令如下:

卸装命令(根据实际情况进行选择)
pip uninstall tensorflow
pip3 uninstall tensorflow
sudo pip3 uninstall tensorflow
安装命令(参考安装部分介绍即可)

2、Failed to build xmlsec

问题示例:

Failed to build xmlsec
ERROR: Could not build wheels for xmlsec which use PEP 517 and cannot be installed directly

解决措施:
  执行以下命令,对关联的库进行安装更新

sudo apt-get install libxml2-dev libxmlsec1-dev

五、安装验证

  在完成上述安装过程后,可通过以下方式对安装的情况进行验证:

1、查看版本

  使用以下命令,查看软件的安装版本:

rasa --version

软件安装版本

2、运行官方示例模板

  运行官方示例模板能同时检查软件的安装与运行情况,使用以下命令即可运行:

Rasa运行

# 创建工程的基本文件夹
mkdir JuniorProj
cd JuniorProj
# 执行命令,此时会自动生成示例模板和文件
rasa init
#随后开始对工程的一系列设置
#1.是否在当前路径下创建工程?按下 Enter 键进行确认;
#2.当前文件夹为空是否继续?按下 y 键进行确认;
#3.是否开始训练模型?按下 y 键进行确认;
#4.是否使用命令终端进行交互?按下 y 键进行确认;
#图示如下:

运行示例
  中间如果是从0开始训练,需要一些时间,如果训练过,相对来说会快一些。最终出现交互端口如下:
交互演示

Rasa X运行
  Rasa X可用于对模型、数据进行管理、过程进行设计。在Rasa工程所在的文件夹下使用以下命令进行启动:

#执行命令,启动rasa-x,启动时间会比rasa要长
rasa x
#第一次打开会需要初始设置,允许浏览器打开,以及构建连接
#后续打开会直接打开浏览器,出现绿色字体部分,可刷新一下网页,图示如下:

rasax运行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值