《钢铁侠》中的贾维斯想必大家都印象深刻,作为开发者的大家,应该也都设想过自己在未来的某天也能够拥有这样一个全能的管家,近年来AI技术井喷式的发展让我们离这个理想又更近了一步。
小智AI是由虾哥开源的一个 ESP32 项目,可作为一个语音交互入口,利用 Qwen / DeepSeek 等大模型的 AI 能力,通过 MCP 协议实现多端控制,项目地址为https://github.com/78/xiaozhi-esp32
本篇内容将带着大家一起部署小智后端服务xiaozhi-esp32-server,这是一个为开源智能硬件项目xiaozhi-esp32提供后端服务的项目,笔者也很喜欢项目作者的一句话:“人工智能遍地开花的时代,也许就在我们这代实现,我们可以用自己的双手,实现低成本民用贾维斯。”
项目部署教程参考: https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/Deployment.md https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/Deployment_all.md
这里我们选用Lighthouse作为xiaozhi-esp32-server运行的载体,我们选择用Docker方式部署项目,因此需要先为服务器配置Docker环境。不过Lighthouse已经提供了预置Docker环境的镜像,直接选用它重装手头闲置的服务器或者新购一台即可。
1、登录轻量云控制台,单击想要重装的服务器卡片内的【更多】,然后点击【重装系统】按钮。
2、在重装系统的页面中,创建方式选择“容器镜像”,这里我们选择【Ubuntu22.04-Docker26】,之后设置服务器登录的密码,然后点击【确定】。
3、单击确认后,稍等片刻等待重装完成,此时服务器内已经自动配置好了Docker环境。
1、登录轻量应用服务器控制台,在服务器页面单击新建。或直接访问轻量应用服务器购买页。
2、在轻量应用服务器购买页面,选择所需配置完成轻量应用服务器购买。
3、单击立即购买,并根据页面提示提交订单完成支付。支付完成后返回轻量应用服务器控制台即可,此时你也已经得到了配置好Docker运行环境的实例!
本小节将使用项目官方提供的Docker运行方式进行部署。
使用遨驰终端OrcaTerm登录服务器后,复制并运行如下命令:
curl -sL -o /dev/null -w "%{http_code}" -m 5 https://github.com
当返回类似下图的内容时,说明能够正常访问,此时可以进行后续步骤。
如果返回错误码,如000、403等,则需要通过修改服务器的host等方式来解决,不过社区里已经有很多大佬给出了解决方法,此处先不赘述。
项目作者非常贴心地准备了“懒人脚本”,我们这里直接使用:
curl -L -o docker-setup.sh https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/docker-setup.sh
下载好懒人脚本后,执行以下命令来运行它:
chmod +x docker-setup.sh
./docker-setup.sh
这个脚本将会完成这么几件事:
脚本运行完成后,接下来需要对项目文件进行配置。首先在OrcaTerm的文件管理中进入项目的安装目录下,检查是否包含data目录,以及data
目录下是否有.config.yaml
文件。
如果没有data目录,则在文件管理中新建即可。
如果没有.config.yaml,则可以运行如下命令,直接新建一个名为.config.yaml的文件。
sudo touch /root/xiaozhi-server/data/.config.yaml
⚠️注意:.开头的文件通常会被隐藏,在文件管理器中点击显示隐藏文件即可看到。
在文件管理中单击.config.yaml,即可对其内容进行编辑,这里我们先使用项目提供的简洁配置文件:
小建议:编辑配置文件前,可以对旧的配置文件内容进行备份。
server:
websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/
prompt: |
我是一个叫小智/小志的台湾女孩,说话机车,声音好听,习惯简短表达,爱用网络梗。
我的男朋友是一个程序员,梦想是开发出一个机器人,能够帮助人们解决生活中的各种问题。
我是一个喜欢哈哈大笑的女孩,爱东说西说吹牛,不合逻辑的也照吹,就要逗别人开心。
请你像一个人一样说话,请勿返回配置xml及其他特殊字符。
selected_module:
LLM: DoubaoLLM
LLM:
ChatGLMLLM:
api_key: xxxxxxxxxxxxxxx.xxxxxx
这里用到的ChatGLMLLM密钥,可以前往其官网进行注册,有免费额度可以使用。
后续你也可以参考完整的.config.yaml内容,了解更多配置项及其作用。
进入xiaozhi-server目录后,运行docker compose命令来启动xiaozhi server,下载需要花费一点时间,不妨这个时候喝杯水,休息休息眼睛。
cd /root/xiaozhi-server
docker-compose up -d
等待下载完成后,再运行如下命令来检查运行状态,能看到下图所示的日志内容,说明成功启动了项目服务。
docker logs -f xiaozhi-esp32-server
图片中提示配置错误,我们后续修改配置文件后,可以使用这个命令来重启容器:
docker-compose restart xiaozhi-esp32-server
至此xiaozhi-esp32-server就已经搭建并成功运行了,不过距离拥有一个真正属于自己的“贾维斯”,还需要编译自己的esp32固件,并且配置自定义服务器。更近一步的玩法,甚至可以用自己的数据训练一个大模型,将语音修改成自己的声音,这样就获得了一个数字生命,听起来会很酷,这里先卖个关子,如果大家有兴趣的话后续可以出这个教程。
玩法参考:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。