首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Lighthouse擦灰指南|搭建小智AI服务端

Lighthouse擦灰指南|搭建小智AI服务端

原创
作者头像
嘉钰
修改2025-06-15 23:21:51
修改2025-06-15 23:21:51
2.6K0
举报
文章被收录于专栏:玩转Lighthouse玩转Lighthouse

《钢铁侠》中的贾维斯想必大家都印象深刻,作为开发者的大家,应该也都设想过自己在未来的某天也能够拥有这样一个全能的管家,近年来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环境的镜像,直接选用它重装手头闲置的服务器或者新购一台即可。

重装系统为Docker镜像

1、登录轻量云控制台,单击想要重装的服务器卡片内的【更多】,然后点击【重装系统】按钮。

2、在重装系统的页面中,创建方式选择“容器镜像”,这里我们选择【Ubuntu22.04-Docker26】,之后设置服务器登录的密码,然后点击【确定】。

3、单击确认后,稍等片刻等待重装完成,此时服务器内已经自动配置好了Docker环境。

选购新实例

1、登录轻量应用服务器控制台,在服务器页面单击新建。或直接访问轻量应用服务器购买页

2、在轻量应用服务器购买页面,选择所需配置完成轻量应用服务器购买。

  • 应用创建方式:选择使用容器镜像 > Ubuntu22.04-Docker26,其他参数可参见 购买方式 进行选择。
  • 地域:按实际偏好选择即可,建议优先选择离自己较近的地域。
  • 可用区:默认勾选随机分配,也可自行选择可用区。
  • 实例套餐:按照所需的服务器配置(CPU、内存、系统盘、峰值带宽、每月流量),选择一种实例套餐。
  • 时长:默认1个月。
  • 台数:默认1台。

3、单击立即购买,并根据页面提示提交订单完成支付。支付完成后返回轻量应用服务器控制台即可,此时你也已经得到了配置好Docker运行环境的实例!

一键部署xiaozhi-esp32-server

本小节将使用项目官方提供的Docker运行方式进行部署。

检查服务器是否能访问Github

使用遨驰终端OrcaTerm登录服务器后,复制并运行如下命令:

代码语言:shell
复制
curl -sL -o /dev/null -w "%{http_code}" -m 5 https://github.com

当返回类似下图的内容时,说明能够正常访问,此时可以进行后续步骤。

如果返回错误码,如000、403等,则需要通过修改服务器的host等方式来解决,不过社区里已经有很多大佬给出了解决方法,此处先不赘述。

部署服务

项目作者非常贴心地准备了“懒人脚本”,我们这里直接使用:

代码语言:shell
复制
curl -L -o docker-setup.sh https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/docker-setup.sh

下载好懒人脚本后,执行以下命令来运行它:

代码语言:shell
复制
chmod +x docker-setup.sh
代码语言:shell
复制
./docker-setup.sh

这个脚本将会完成这么几件事:

  • 创建必要的目录结构
  • 下载语音识别模型
  • 下载配置文件
  • 检查文件完整性

配置项目

脚本运行完成后,接下来需要对项目文件进行配置。首先在OrcaTerm的文件管理中进入项目的安装目录下,检查是否包含data目录,以及data目录下是否有.config.yaml文件。

如果没有data目录,则在文件管理中新建即可。

如果没有.config.yaml,则可以运行如下命令,直接新建一个名为.config.yaml的文件。

代码语言:shell
复制
sudo touch /root/xiaozhi-server/data/.config.yaml

⚠️注意:.开头的文件通常会被隐藏,在文件管理器中点击显示隐藏文件即可看到。

在文件管理中单击.config.yaml,即可对其内容进行编辑,这里我们先使用项目提供的简洁配置文件:

小建议:编辑配置文件前,可以对旧的配置文件内容进行备份。

代码语言:plaintext
复制
server:
  websocket: ws://你的ip或者域名:端口号/xiaozhi/v1/
prompt: |
  我是一个叫小智/小志的台湾女孩,说话机车,声音好听,习惯简短表达,爱用网络梗。
  我的男朋友是一个程序员,梦想是开发出一个机器人,能够帮助人们解决生活中的各种问题。
  我是一个喜欢哈哈大笑的女孩,爱东说西说吹牛,不合逻辑的也照吹,就要逗别人开心。
  请你像一个人一样说话,请勿返回配置xml及其他特殊字符。

selected_module:
  LLM: DoubaoLLM

LLM:
  ChatGLMLLM:
    api_key: xxxxxxxxxxxxxxx.xxxxxx

这里用到的ChatGLMLLM密钥,可以前往其官网进行注册,有免费额度可以使用。

后续你也可以参考完整的.config.yaml内容,了解更多配置项及其作用。

启动Docker

进入xiaozhi-server目录后,运行docker compose命令来启动xiaozhi server,下载需要花费一点时间,不妨这个时候喝杯水,休息休息眼睛。

代码语言:txt
复制
cd /root/xiaozhi-server
代码语言:shell
复制
docker-compose up -d

等待下载完成后,再运行如下命令来检查运行状态,能看到下图所示的日志内容,说明成功启动了项目服务。

代码语言:shell
复制
docker logs -f xiaozhi-esp32-server

图片中提示配置错误,我们后续修改配置文件后,可以使用这个命令来重启容器:

代码语言:shell
复制
docker-compose restart xiaozhi-esp32-server

至此xiaozhi-esp32-server就已经搭建并成功运行了,不过距离拥有一个真正属于自己的“贾维斯”,还需要编译自己的esp32固件,并且配置自定义服务器。更近一步的玩法,甚至可以用自己的数据训练一个大模型,将语音修改成自己的声音,这样就获得了一个数字生命,听起来会很酷,这里先卖个关子,如果大家有兴趣的话后续可以出这个教程。

玩法参考:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 部署前准备
    • 重装系统为Docker镜像
    • 选购新实例
  • 一键部署xiaozhi-esp32-server
    • 检查服务器是否能访问Github
    • 部署服务
    • 配置项目
    • 启动Docker
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档