<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Wukong-Robot on lategege 的技术博客</title><link>https://lategege.com/tags/wukong-robot/</link><description>Recent content in Wukong-Robot on lategege 的技术博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 26 Nov 2023 15:12:27 +0000</lastBuildDate><atom:link href="https://lategege.com/tags/wukong-robot/index.xml" rel="self" type="application/rss+xml"/><item><title>wukong_robot接入FunAsr和Chatglm3-6b</title><link>https://lategege.com/p/wukong_robot%E6%8E%A5%E5%85%A5funasr%E5%92%8Cchatglm3-6b/</link><pubDate>Sun, 26 Nov 2023 15:12:27 +0000</pubDate><guid>https://lategege.com/p/wukong_robot%E6%8E%A5%E5%85%A5funasr%E5%92%8Cchatglm3-6b/</guid><description>&lt;p&gt;现在人工智能依旧火爆，大模型层出不穷，一直很想将ai和语音交互结合起来，一开始打算入手小爱音箱通过开源项目xiaogpt玩一玩，经过分析它的实现原理大致如下：
1、通过小米service轮询小爱对话记录
2、将对话发给chatgpt,通过小米service将小爱设为mute
3、chatgpt回复后通过小米service调用小爱tts播报内容
整个过程相当于做了拦截处理，虽能实现，但是不够优雅，其核心流程掌控在小米手中，所以放弃这种方式。&lt;/p&gt;
&lt;p&gt;还有一个开源项目wukong_robot，它具备定制能力，完全可以自己编码实现整套语音控制流程，非常自由，而且它的内部功能已经很完善了，热衷开源的我当然会在此基础上定制我的功能。&lt;/p&gt;
&lt;p&gt;1、首先运行该项目需要解决的问题是python版本兼容问题，我的版本是3.10+，所以运行报错，经过分析得出是watchdog版本太旧了，升级成最新的就好。&lt;/p&gt;
&lt;p&gt;2、其次我之前看到达摩院出了一个FunAsr语音识别模型，想集成一下，但是wukong_robot的FunAsr功能是直接加载模型运行，这种方式对我来说不太灵活，我加入了FunAsr的wss集成方式，你可以在任意一台服务器部署FunAsr服务，官方的部署方式需要docker运行后再进入容器执行服务，比较麻烦，针对这个，我编写了Dockerfile脚本，让容器运行自动启动服务，有需要去我github下载：&lt;a href="https://github.com/lategege/FunAsr"&gt;https://github.com/lategege/FunAsr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;3、需要可以接入chatglm3-6b，因为这个模型在我另一台服务器中已经部署好了，官方demo是支持openai的api部署的，但是wukong_robot的openai模块有点小问题，新版的openai库去除了proxy方法，所以需要稍微改动下，还有一些地方要做小改动才能兼容chatglm3-6b的openai接口，大体上差不多。&lt;/p&gt;
&lt;p&gt;针对上面的改造我已经提交到我的github仓库:&lt;a href="https://github.com/lategege/wukong-robot"&gt;https://github.com/lategege/wukong-robot&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;完成上面改造后我还写了插件接入了nastool 通过语音来下载电影等，这部分就不放出来了，就是个小玩意，自此，我发现这个项目中唯一闭源的一块是baidu unit ，它作为NLU存在，事实上有它我们可以更方便定制控制，后面可以将它替换为longchain，从而实现整个语音机器人链条全部使用开源技术，不受制于任何一家公司。&lt;/p&gt;</description></item></channel></rss>