树莓派智能语音助手之聊天机器人-RASA

news/2024/9/23 6:37:16/

我的树莓派目前已经会“说”(《树莓派智能语音助手之TTS - pyttsx3 + espeak》),也能“听”(《树莓派智能语音助手之ASR2 – sherpa-ncnn》)了。接下来,就要让它能够和我们对话起来,即会“聊天”。

说一个插曲:如果你的树莓派和我一样,raspbian都是老版本,就不建议升级python到3.9版,用默认的3.7版本。如果你已经升级了,并且也遇到了import numpy报“libm.so.6: version 'GLIBC_2.29' not found”的bug,可以参考我的另一篇博文《树莓派3B升级glibc-2.29》

选择哪个聊天机器人安装呢?我的选择是chatterbot或rasa。但不知道为何,这两个安装对我的树莓派都不是太友好,直接pip install XXX或make编译都是报错的,查了很多资料,说是raspbian版本影响。就在一筹莫展之时,无意中找到了一篇python3.6版本下的respbian安装rasa-1.4.0版本的攻略,那就死马当活马医,上手试试吧!

Python3.6版树莓派安装rasa的攻略:

https://gist.github.com/rgstephens/fd53e63901586c81029c869ff7786d9d

攻略是一个.sh的文件,包含了从安装python3.6开始到完成rasa安装的全过程。前面安装python3.6等就不在这儿赘述了,我只是将自己安装rasa-1.4.0版本的经过描述下,供大家参考。

1下载rasa

wget https://github.com/RasaHQ/rasa/archive/1.4.0.zip && unzip 1.4.0.zip

cd ~/rasa-1.4.0

2安装依赖

python3 -m pip install -r requirements.txt --user --force-reinstall

注:安装依赖包这一步你如果跳过了,安装rasa的命令也是可以正常执行。但是,你会在后面启动rasa时收到缺少某个module的报错。所以建议还是正常执行这个步骤。

另外,在安装缺失module时,最好参考requirements.txt文档中所列的对应版本号,有时候最新版本反而用不了。

3安装rasa

python3 -m pip install . --user --force-reinstall

注:--user是指安装在当前用户目录,安装成功后要在其他目录执行,需要将rasarasa.egg-info,rasa_core,rasa_nlu几个目录都复制到对应的python/site-packages目录下。

4启动-rasa init

python3 -m rasa init --no-prompt

如图,命令中加上--no-prompt,程序就会直接在当前目录创建Rasa工程需要的全部文件。目录安装成功后就会在初始化样本数据上训练简单的聊天机器人

如果前面跳过了安装依赖项这一步骤,在这里就会遇到很多报错。如果是初始化训练机器人报错,根据提示安装了其中一个module后,还会自动提示其他缺失项,按照这个提示一个个装就行了。(如下图)

5 启动-rasa shell

初始化成功后会提示执行rasa shell,在终端输入:

python3 -m rasa shell

启动成功后就可以进行一个基于初始化模型训练的简单机器对话。

至此,rasa-1.4.0的安装就全部完成了。接下来,就要对rasa进行中文聊天训练了,等我完成中文模型训练后再来总结吧!

PS:实际运行过程还是遇到了很多问题,我会再写一篇总结,来聊聊运行rasa init和rasa shell时候遇到的各种报错及解决方案。

最后吐个槽:用树莓派3B来安装rasa的确有有点勉强了。

附录:

rasa官网教程


http://www.ppmy.cn/news/1511171.html

相关文章

go 调用C语言函数或者库

1.查看cgo是否开启 go env | grep CGO_ENABLED CGO_ENABLED1 2. go程序中加入 import "C" 通过 import “C” 语句启用 CGO 特性后,CGO 会将上一行代码所处注释块的内容视为 C 代码块 单行注释使用// 多行注释使用/* */ 3. go 与C 类型转换 在g…

GBJ406-ASEMI无人机专用GBJ406

编辑:ll GBJ406-ASEMI无人机专用GBJ406 型号:GBJ406 品牌:ASEMI 封装:GBJ-4 批号:2024 现货:50000 最大重复峰值反向电压:600V 最大正向平均整流电流(Vdss):4A 功率(Pd)&am…

Centos安装Kafka

安装Kafka 安装Java,因为Kafka运行需要JDK运行环境 sudo yum install java-1.8.0-openjdk-devel.x86_64如果不知道JDK版本,可以使用下面命令查看可用的JDK版本 sudo yum search openjdk添加EPEL仓库 sudo yum install epel-release下载Kafka 先去查看…

ElasticSearch 全文检索相关性 算分

文章目录 相关性相关性Relevance相关性算法TF-IDFBM25 通过Explain查看TF-IDFboosting query 多字段查询 相关性dis_max query最佳字段查询multi_match querybest_fields最佳匹配字段most_fields 多数字段搜索cross_fields跨字段搜索 相关性 相关性Relevance 搜索的相关性算分…

STM32——I2C和SPI波形分析

波形分析 I2C波形 //写命令 void OLED_WR_CMD(uint8_t cmd) { HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x00,I2C_MEMADD_SIZE_8BIT,&cmd,1,0x100); } //写数据 void OLED_WR_DATA(uint8_t data) { HAL_I2C_Mem_Write(&hi2c1 ,0x78,0x40,I2C_MEMADD_SIZE_8BIT,&am…

Linux系统性能调优

Linux系统性能调优是一个复杂而细致的过程,它涉及到硬件、软件、内核参数以及进程管理等多个方面。通过合理的调优措施和持续的监控调整,可以显著提升Linux系统的运行效率和稳定性。以下将详细介绍Linux系统性能调优的技巧,涵盖硬件、软件、内…

js使用text/template制作模板

如果你想把模板内容放在HTML文件中&#xff0c;并通过JavaScript加载和渲染这些模板&#xff0c;你可以采用以下几种方法&#xff1a; 1. 使用 <script> 标签作为模板容器 可以使用 <script> 标签来存储模板内容&#xff0c;并设置 type 属性为一个特殊的值&…

Pytorch中transform的应用

在PyTorch中&#xff0c;transforms模块主要用于对图像进行预处理和数据增强&#xff0c;以便于训练深度学习模型。这些转换操作可以包括裁剪、缩放、旋转、翻转等&#xff0c;以及对图像进行标准化处理。下面将详细介绍一些常用的transforms操作及其应用。 1. 常用的transfor…