执行rasa shell 遇到asyncio.exceptions.TimeoutError报错

server/2024/9/22 8:40:36/

在《树莓派3B运行rasa init和rasa shell遇到的tensorflow报错总结》一文中,我遇到的第7个报错是首次运行rasa shell时候碰到的。按照我在文中记录的解决方案,处理成功。

结果,今天我又一次遇到了asyncio  - Task exception was never retrieved的报错(如图),我先是吃了一惊,然后第一反应是按照上次的处理方法又操作了一遍,然后……然并卵!

怎么会无效?我再次仔细检查报错信息,这次啊注意到两个黄框圈出来的内容,这是timeout……什么鬼?

上网查了又查,终于确认了错误原因,是没有成功连接rasa action server。是因为我没有执行rasa run actions?但之前也没启动,也是正常的呀?(见《树莓派智能语音助手之首次RASA模型训练》)

先不管了,开了一个新的terminal,输入rasa run actions,第一次执行果然遇到报错《第一次运行rasa run actions遇到2个报错——与markupsafe和greenlet有关》。

把2个报错的问题解决了,成功执行rasa run actions,再执行rasa shell,还是一样,在我发送了消息,等到chatbot回复的时候,asyncio.exceptions.TimeoutError如期而至。我彻底傻眼了……

再查网络,看到有文章说这是自定义actions没有注册成功导致连接失败。一语惊醒梦中人。在最初的模型训练中,我的确没有加入自定义actions(主要是不会)。但我今天刚刚抄了一篇actions做试验,也的确没有注册……

立马在旁边的terminal停掉之前在跑的actions server,重新输入:

python -m rasa run actions –actions actions

注册成功,再回到rasa shell,还是老样子。我崩溃了……

不要慌,静一静!回忆之前正常的场景,我把actions server先关了,然后把actions.py重新变成空白的,再跑rasa shell,没有解决。

忽然想起来也不知是哪里看到的,说rasa工程文件夹里的文件只要变动了,模型就要重新训练。索性把domain.yml和stories.md里面涉及这次新增actions的内容都注释掉,然后执行rasa train,成功后再执行rasa shell,这次没有再报错!

新的问题来了,我不可能永远不自定义actions啊!犹豫了会儿,咬咬牙,重新恢复几个文档里面的新增actions部分,然后把actions.py也再次恢复。之后先执行actions的注册,同时把actions server起来;之后重新运行rasa train;最后再次执行rasa shell……

成功啦!!

最后把我抄的actions.py的文章出处也贴出来:

Rasa Core实践 报时机器人_rasa-webchat-CSDN博客

回过头来看,人家文章里写的很清楚:rasa run actions -> rasa train ->rasa shell ,果然是文章不看全,吃亏在眼前。


http://www.ppmy.cn/server/103387.html

相关文章

Apeaksoft Video Converter Ultimate for Mac:强大的视频转换与编辑工具

Apeaksoft Video Converter Ultimate for Mac是一款专为Mac用户设计的视频转换与编辑软件,凭借其强大的功能和用户友好的界面,在视频处理领域脱颖而出。该软件不仅支持多种视频格式的转换,还内置了丰富的视频编辑功能,让用户能够轻…

【ocr识别003】flask+paddleocr+bootstrap搭建OCR文本推理WEB服务

1.欢迎点赞、关注、批评、指正,互三走起来,小手动起来! 2.了解、学习OCR相关技术知识领域,结合日常的场景进行测试、总结。如本文总结的flaskpaddleocrbootstrap搭建OCR文本推理WEB服务应用示例场景。 文章目录 1.代码结构2.效果演…

如何用CWE API 来减轻软件产品中的安全风险

本文分享自华为云开发者社区《用CWE API 减轻软件产品中的安全风险》作者: Uncle_Tom 1. CWE REST API 推出的目的 8 月 8 号,CWE™ 计划推出了“CWE REST API”。 CWE™计划由美国网络安全与基础设施安全局(Cybersecurity & Infrastructure Secur…

如何提升 RocketMQ 顺序消费性能?

提升RocketMQ顺序消费性能,可以从多个方面进行优化。以下是一些关键策略和步骤: 优化消息发送策略 使用Sharding Key:在发送顺序消息时,通过Sharding Key(如用户ID、订单ID等)将相关联的消息发送到同一个队…

uniapp-部分文件中文乱码

一、问题 在开发时遇到,部分页面的中文显示乱码,如图 搜索了一下解决方法,这里记录一下 二、问题原因: 页面的编码格式不是 utf-8 造成的 三、解决方法 打开出现乱码页面选择编译器左上角的文件 > 以指定编码重新打开 选择U…

基于Spring Boot的大学校园生活信息平台的设计与实现pf

TOC springboot523基于Spring Boot的大学校园生活信息平台的设计与实现pf 绪论 1.1 研究背景 当前社会各行业领域竞争压力非常大,随着当前时代的信息化,科学化发展,让社会各行业领域都争相使用新的信息技术,对行业内的各种相关…

在 C++ 中实现自定义异常类

在 C 中实现自定义异常类 作为一名 C 程序员,你可能会遇到需要自定义异常类的情况。自定义异常类可以让你更好地控制异常处理,并且可以使你的代码更加易读和易维护。在这篇博文中,我们将学习如何在 C 中实现自定义异常类。 为什么要自定义异…

使用 `<springProperty>` 在 Logback 配置中引用 Spring 应用程序属性

在 Spring Boot 应用程序中,日志配置通常是一个至关重要的任务。使用 Logback 作为日志框架时,能够动态地引用 Spring 应用程序中的属性值是非常有用的。这不仅使日志配置更加灵活,还能确保日志格式与应用程序配置保持一致。本文将介绍 Logba…