# RasaAi **Repository Path**: 476743842/rasa-ai ## Basic Information - **Project Name**: RasaAi - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2024-10-30 - **Last Updated**: 2025-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 说明 这个只是自己为了方便自己打卡花了两三天研究的小工具,都是采用了开源免费的框架,具体实现思路 ![思路图](https://i.ibb.co/m5T4gJ4/81e6922aa76d3e72.png) 1、前端使用uniapp写了个小模版,结合 [nbVoiceRecord长按录音动画组件](https://ext.dcloud.net.cn/plugin?id=9595) 这个组件改了一个长按录音的效果; 2、将录音完成后的文件转换成了 base64发到了后端进行语音识别,语音识别用的是百度开源框架,[PaddleSpeech](https://github.com/PaddlePaddle/PaddleSpeech),很不错的一个开源框架,可以进行二次自主训练,我是通过自己构建的 `docker`镜像进行的服务搭建,它可以进行 `语音识别(ASR)`以及`语音合成(TTS)`而且还支持流式识别和合成,不过我没有用,测试了一下,流式的识别率效果不是很好,速度倒是挺快; 3、语音识别出来文字后,将文字发送给 `Rasa`进行解析,[Rasa](https://rasa.com/)是国外谷歌开源的对话式Ai,有很强的自然语言理解(NLU)能力,在经过几次的训练后,已经教会它可以识别我要打卡的意图,它的主要原理也就是,将我们传过去的文本进行理解,从中识别出来意图以及实体的提取,如:`帮我打一下卡` 那最终提取出来的意图就是我定义的 `clockin` 意图,然后可以自定义意图对应的`action` ,那最终效果就是,发送相关文字信息过去后,它就会到后端自动帮我完成打卡功能完成后回复到前端; 4、定义`action`以及实现相关代码逻辑都是通过python完成的,不过实际上也很简单,基本思路也就是在python里面写一些其它业务系统的api调用就可以了,最终执行完业务代码后,就会返回对应的结果信息,都可以自定义,比如:`已经打卡成功了~` 等; 5、最终Rasa返回后,就可以再将其文字再转换成语音进行播放就可以了。 PaddleSpeech、Rasa等服务我已经整合过相关的Docker镜像,可以一键就启动了 有需要可以联系QQ:476743842 ### 相关资源 * PaddleSpeech资源地址:[GitHub - PaddlePaddle/PaddleSpeech](https://github.com/PaddlePaddle/PaddleSpeech) * Paddle官网:[飞桨PaddlePaddle-源于产业实践的开源深度学习平台](https://www.paddlepaddle.org.cn/) * SpeechServer接口说明:[PaddleSpeech Server RESTful API](https://github.com/PaddlePaddle/PaddleSpeech/wiki/PaddleSpeech-Server-RESTful-API) * Rasa官网:[Rasa官网](https://rasa.com/) ### 联系作者 QQ:476743842