掘金 人工智能 07月22日 15:13
用xiaozhi-server搭建一个私有小智后台
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文档详细介绍了如何使用Docker快速部署小智AI服务器。文章首先交代了作者希望搭建独立MCP服务的背景,并介绍了所需的硬件环境:香橙派Zero 3和ESP32-S3小智开发板。接着,提供了两种Docker部署方式,并重点推荐了“懒人脚本一键下载”方案。脚本执行后会自动完成目录创建、模型下载等一系列准备工作。随后,文章详细指导了如何修改配置文件,包括选择LLM和TTS适配器,并列举了豆包LLM和火山引擎TTS的具体配置参数与申请流程。最后,通过`docker-compose up -d`命令启动服务,并利用`docker logs`查看运行状态,最后通过`test_page.html`进行功能验证,为后续ESP32-S3开发板的接入奠定了基础。

🚀 **Docker化部署简化流程**:文章推荐使用Docker来部署小智AI服务器,并提供了一键式的脚本下载和执行流程,极大地简化了环境搭建和软件安装的复杂性,特别适合希望快速启动项目的用户。

💡 **配置灵活满足个性化需求**:部署完成后,用户需要根据自身情况修改配置文件,可自由选择不同的LLM(如豆包LLM)和TTS(如火山引擎TTS)适配器,并详细列出了各类API密钥、模型名称、语音配置等关键参数,确保了服务的定制化能力。

⚙️ **详细的配置指导与注意事项**:文章为豆包LLM和火山引擎TTS提供了详尽的配置指南,包括如何开通服务、获取API密钥、选择音色以及付费策略等,特别是提示了火山引擎TTS付费购买的必要性以避免并发限制错误,使得用户能够顺利完成配置。

✅ **部署验证与后续展望**:通过`docker-compose up -d`启动服务后,文章指导用户使用`docker logs`命令检查服务运行状态,并通过访问本地的`test_page.html`文件来测试部署是否成功,为后续将ESP32-S3开发板接入小智AI模型打下了基础。

本案例需要你懂一些【docker】、【linux】知识

故事背景

最近在捣鼓小智AI,目前社区还是挺完善的,MCU支持也很足,但是我不太想用小智的后台系统,一直想搭建一个自己的 mcp 服务,所以一直在找一个可以替代的方案。

功夫不负有心人,找到了 xiaozhi-server 这个项目。

这篇文章用来记录一下在搭建项目的流程和碰到的一些坑。

环境介绍

    香橙派 zero 3 * 1 (搭载了 linux22 系统)esp32-s3 小智开发板 * 1 (自主烧录小智固件)

操作步骤

本教程只提供 docker版操作教程,目前docker版有两种操作方式:

    懒人脚本一键下载(推荐)docker 手动部署

1. 懒人脚本一键部署(推荐)

1.1 下载脚本

执行以下命令以下载懒人脚本:

curl -L -o docker-setup.sh https://raw.githubusercontent.com/xinnan-tech/xiaozhi-esp32-server/main/docker-setup.sh

如果以上脚本无法执行,并且报错如下所示:

curl: (7) failed to connect to raw.githubusercontent.com port 443 after 1 ms: couldn't connect to server

因为这个域名对应的是外网ip,如果你没有开魔法的话则没有办法,如果你开了魔法,那就好办了,按照下面的命令依次执行;

登陆www.ipaddress.com网站查询 raw.githubusercontent.com 对应ip ,示例如下:

把查询到的ip写入host 文件,如下:

sudo vi /etc/hosts // hosts 文件写入185.199.108.133 raw.githubusercontent.com

最后再尝试执行脚本即可。

1.2 执行脚本

如果您的电脑是windows系统,请使用 Git Bash、WSL、PowerShell 或 CMD 运行以下命令:

# Git Bash 或 WSLsh docker-setup.sh# PowerShell 或 CMD.\docker-setup.sh

如果您的电脑是linux 或者 macos 系统,请使用终端运行以下命令:

chmod +x docker-setup.sh./docker-setup.sh

脚本会自动完成以下操作:

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

执行完成后,请按照提示配置 API 密钥。

1.3 修改配置文件

主要修改以下几个位置:

selected_module:  # 将根据配置名称对应的type调用实际的LLM适配器  LLM: DoubaoLLM  # TTS将根据配置名称对应的type调用实际的TTS适配器  TTS: DoubaoTTSLLM:  DoubaoLLM:    # 定义LLM API类型    type: openai    # 先开通服务,打开以下网址,开通的服务搜索Doubao-1.5-pro,开通它    # 开通地址:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?LLM=%7B%7D&OpenTokenDrawer=false    # 免费额度500000token    # 开通后,进入这里获取密钥:https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey?apikey=%7B%7D    base_url: https://ark.cn-beijing.volces.com/api/v3    model_name: doubao-1-5-pro-32k-250115    api_key: ******(在豆包平台上申请)    TTS:  # 当前支持的type为edge、doubao,可自行适配  EdgeTTS:    # 定义TTS API类型    type: edge    voice: zh-CN-XiaoxiaoNeural    output_dir: tmp/  DoubaoTTS:    # 定义TTS API类型    type: doubao    # 火山引擎语音合成服务,需要先在火山引擎控制台创建应用并获取appid和access_token    # 山引擎语音一定要购买花钱,起步价30元,就有100并发了。如果用免费的只有2个并发,会经常报tts错误    # 购买服务后,购买免费的音色后,可能要等半小时左右,才能使用。    # 普通音色在这里开通:https://console.volcengine.com/speech/service/8    # 湾湾小何音色在这里开通:https://console.volcengine.com/speech/service/10007,开通后将下面的voice设置成zh_female_wanwanxiaohe_moon_bigtts    api_url: https://openspeech.bytedance.com/api/v1/tts    voice: zh_female_meilinvyou_moon_bigtts(音色可自定义)    output_dir: tmp/    authorization: "Bearer;"    appid: *****(在豆包上申请)    access_token: *****(在豆包上申请)    cluster: volcano_tts    speed_ratio: 1.0    volume_ratio: 1.0    pitch_ratio: 1.0

1.4 检验容器运行情况

执行以下命令来部署服务:

docker-compose up -d

执行完后,再执行以下命令,查看日志信息。

docker logs -f xiaozhi-esp32-server

测试

进入 xiaozhi-server/test 文件夹,打开 test_page.html 文件,来通过输入文本或者是语音来测试项目是否部署成功。(注意端口的映射关系)

总结

以上就是小智服务端的搭建过程,下一期我介绍一下如何通过 esp32-s3 开发板来接入小智AI模型实现联动。

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Docker 小智AI ESP32-S3 Linux AI服务器
相关文章