最近ChatGPT很多,想到之前收藏的一个对话机器人开源项目,趁周末拿出来分享给正在研究这部分实现的读者,该项目叫wukong-robot
wukong-robot 是一个大略、灵巧、优雅的中文语音对话机器人/智能音箱项目,目的是让中国的 Maker 和 Hacker 们也能快速打造个性化的智能音箱。wukong-robot 还可能是第一个开源的支持脑机唤醒的智能音箱。
特性

模块化。功能插件、语音识别、语音合成、对话机器人都做到了高度模块化,第三方插件单独掩护,方便继续和开拓自己的插件。中文支持。集成百度、科大讯飞、阿里、腾讯等多家中文语音识别和语音合成技能,且可以连续扩展。对话机器人支持。支持基于 AnyQ 确当地对话机器人,并支持接入图灵机器人、OpenAI GPT3 等在线对话机器人。全局监听,离线唤醒。支持 Porcupine 和 snowboy 两套离线语音指令唤醒引擎,并支持 Muse 脑机唤醒 以及行空板摇一摇唤醒等其他唤醒办法。灵巧可配置。支持定制机器人名字,支持选择语音识别和合成的插件。智能家居。支持和 mqtt、HomeAssistant 等智能家居协议联动,支持语音掌握智能家电。后台配套支持。供应配套后台,可实现远程操控、修正配置和日志查看等功能。开放API。可利用后端开放的API,实现更丰富的功能。安装大略,支持更多平台。比较 dingdang-robot ,舍弃了 PocketSphinx 的离线唤醒方案,安装变得更加大略,代码量更少,更易于掩护并且能在 Mac 以及更多 Linux 系统中运行。
事情机制
wukong-robot 的事情机制如下:
wukong-robot 被唤醒后,用户的语音指令先经由 ASR 引擎进行 ASR 识别成文本;之后,wukong-robot 会对识别到的文本进行语义理解(NLU),得到解析结果;轮询每个可用插件,进行技能匹配,交给适宜处理该指令的技能插件去处理。插件处理过程中,还可以根据须要利用 TTS 引擎合成针言音,播放给用户。在第 3 步中,插件的轮询机制如下:
在初始化阶段,依次扫描 plugins
目录、$HOME/.wukong/contrib
目录和 $HOME/.wukong/custom
目录下的可用插件。可用插件的剖断标准为:包含一个继续了 AbstractPlugin
基类的 Plugin
类;在配置文件中没有将这个插件的 enable
设为 false
。在扫描过程中,如果存在插件设置了 PRIORITY
属性,则对其优先级进行重排。默认都为 0,PRIORITY
值设得越大,则优先级越高。在轮询过程中,wukong-robot 会根据优先级逐个实行插件的 isValid()
方法,如果值为 True
,则调用该插件的 handle() 方法进入处理。
功能演示
如果您对项目该兴趣,可以通过下方地址直达开源项目或官方网站项目地址:https://github.com/wzpan/wukong-robot/官方网站:https://wukong.hahack.com/在官方文档中有对应的一下Demo视频,可以帮助您快速理解该项目的能力,看是否是你正在研究的内容。