Mac下小智AI本地环境部署

可以进行聊天、编写程序、播放歌曲等等的小智语音聊天小助手,在Mac环境下修改源代码,值得拥有。本篇内容主要讲解Mac下环境的搭建,WebSocket的修改。注:环境python3.12.0、ESP-IDF5.4.0、开发板ESP32S3。

目录

  • 1.Git安装
  • 2.Python安装
  • 3.VSCode安装
    • 3.1 简体中文
    • 3.2 ESP-IDF配置
  • 4.环境变量配置
  • 5.参数配置与编译
    • 5.1 源代码下载
    • 5.2 VSCode加载项目
    • 5.3 硬件参数配置
  • 6.服务端配置
    • 6.1 MiniConda安装
    • 6.2 服务端源代码下载
  • 6.3 添加清华源通道
    • 6.3 配置API Key
  • 7.测试
  • 8.参考资料
  • 9.声明

1.Git安装

Git
官网下载
安装Mac系统的Git软件。

2.Python安装

Python环境:
国内高速下载
版本要求Python3.10以上,建议选择Python3.12版本。

3.VSCode安装

VSCode
官网下载
可下载通用版,Intel和M系列芯片支持安装。

3.1 简体中文

中文语言包安装,安装简体中文,然后重启VSCode。

3.2 ESP-IDF配置

ESP-IDF插件安装

ESP-IDF下载与配置

选择ADVENCED,自定义选择安装。

选择国内高速下载、版本可以选择5.4.0或5.4.1。

受网络的影响,需要先进行下载,下载过程尽量不要中止,下载包含所需要的ESP环境、编译工具等等。

4.环境变量配置

esp-idf本地下载所在位置

"Command+Shift+.",显示隐藏的文件或文件夹

添加系统环境变量,方便后续命令行操作。

cpp 复制代码
sudo vim ~/.zshrc
cpp 复制代码
export IDF_PATH=~/esp/v5.4/esp-idf
export PATH="$PATH:$HOME/.espressif/tools/xtensa-esp-elf/esp-14.2.0_20241119/xtensa-esp-elf/bin"
export PATH="$PATH:$HOME/.espressif/tools/esp32ulp-elf/2.38_20240113/esp32ulp-elf/bin"
export PATH="$PATH:$HOME/.espressif/tools/openocd-esp32/v0.12.0-esp32-20241016/openocd-esp32/bin"
export PATH="$PATH:$HOME/.espressif/python_env/idf5.4_py3.12_env/bin"

配置完成后,执行以下命令生效。

cpp 复制代码
source ~/.zshrc 

检查配置

cpp 复制代码
echo $IDF_PATH                # 输出 ESP-IDF 路径
cpp 复制代码
xtensa-esp32-elf-gcc --version # 检查编译器是否识别
cpp 复制代码
python --version              # 确认 Python 3.12.0

进入esp-idf目录,第一次操作,执行安装命令:

cpp 复制代码
./install.sh

然后执行export.sh脚本,显示以下内容表示成功。

cpp 复制代码
. ./export.sh

5.参数配置与编译

5.1 源代码下载

打开terminal终端执行git命令:

cpp 复制代码
git clone https://github.com/78/xiaozhi-esp32.git

5.2 VSCode加载项目

打开下载的XIAOZHI-ESP32源代码文件夹,VSCode加载过程中,会提示安装C++扩展选择安装,ESP-IDF加载等,中途不要取消。

5.3 硬件参数配置

idf.py命令操作,进入esp-idf文件夹,再次执行export.sh脚本。

cpp 复制代码
. ./export.sh

进入源代码目录下

cpp 复制代码
cd /xxx/xx/xiaozhi-esp32

项目构建

cpp 复制代码
idf.py build


芯片类型设置

cpp 复制代码
idf.py set-target esp32s3


菜单配置

cpp 复制代码
idf.py menuconfig

上下键控制移动,回车键确认

连接类型Connection Type选择WebSocket。

修改websockt地址可以为自己本地的或个人部署的,后面加上/xiaozhi/v1。


Board Type可以根据自己的版型选择。

屏幕分辨率根据自己的OLED尺寸选择。

按"S"保存配置,然后按ESC回到上一级。

唤醒词的修改。



保存后退出。

6.服务端配置

6.1 MiniConda安装

Intel芯片下载安装脚本

cpp 复制代码
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh

M系列芯片下载安装脚本

cpp 复制代码
curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-arm64.sh

找到下载脚本的位置,安装脚本
Intel芯片

cpp 复制代码
bash Miniconda3-latest-MacOSX-x86------64.sh

或者M系列芯片

cpp 复制代码
bash Miniconda3-latest-MacOSX-arm64.sh

按提示阅读许可协议,输入 yes 同意。
安装路径(默认在 ~/miniconda3)。

安装完后,执行

cpp 复制代码
source ~/miniconda3/bin/activate

然后执行初始化

cpp 复制代码
conda init --all

6.2 服务端源代码下载

下载xiaozhi-esp32-server
github访问
创建虚拟环境,如何之前创建过,通过conda命令移除。

cpp 复制代码
conda remove -n xiaozhi-esp32-server --all -y

创建虚拟环境,名称为esp32-server。

cpp 复制代码
conda create -n esp32-server python=3.12 -y

激活虚拟环境

cpp 复制代码
conda activate esp32-server

退出虚拟环境(非必需)

cpp 复制代码
conda deactivate

6.3 添加清华源通道

cpp 复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
cpp 复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
cpp 复制代码
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge

安装libopus和ffmpeg

cpp 复制代码
conda install libopus -y
cpp 复制代码
conda install ffmpeg -y

6.3 配置API Key


没有data文件夹需要创建并拷贝config.yaml,通过termial终端命令行修改为.config.yaml

cpp 复制代码
mv config.yaml .config.yaml


修改配置文件,添加API Key。
model.pt下载可以选择阿里魔塔下载,速度较快。
models文件夹下需要放置model.pt文件。

7.测试

构建项目

cpp 复制代码
idf.py build

连接硬件esp32s3
烧录

cpp 复制代码
idf.py flash

python app.py启动websocket,不要关闭终端。

cpp 复制代码
python app.py

8.参考资料

1\][miniconda配置,创建虚拟环境](https://www.anaconda.com/docs/getting-started/miniconda/install#quickstart-install-instructions) \[3\][小智AI聊天机器人百科全书](https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb) \[2\][小智官方文档服务器端配置](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%B8%89%E6%9C%AC%E5%9C%B0%E6%BA%90%E7%A0%81%E8%BF%90%E8%A1%8C) ## 9.声明 **本篇文章在小智官方文档的学习下,Mac系统上配置,将踩过的坑进行总结、经验分享。**

相关推荐
蹦蹦跳跳真可爱589几秒前
Python----深度学习(基于DNN的PM2.5预测)
人工智能·pytorch·python·深度学习·线性回归·dnn
IT古董3 分钟前
【漫话机器学习系列】226.测试集、训练集、验证集(test,training,validation sets)
人工智能
Small踢倒coffee_氕氘氚3 分钟前
是否应该禁止危险运动论文
经验分享·笔记·算法·灌灌灌灌
十贝4 分钟前
大模型对话风格微调项目实战——部署上线篇
人工智能
掘金詹姆斯4 分钟前
LangChain4j—人工智能服务 AIService(三)
java·人工智能
星辰大海的精灵5 分钟前
AI编码陷阱防不胜防看看 Cursor使用技巧
人工智能·后端
掘金詹姆斯5 分钟前
LangChain4j—聊天记忆 Chat memory(四)
java·人工智能
小小毛桃14 分钟前
在分类任务中,显著性分析
人工智能·分类·数据挖掘
Black_Rock_br17 分钟前
智驭未来:NVIDIA自动驾驶安全白皮书与实验室创新实践深度解析
人工智能·安全·自动驾驶
蜡笔小电芯21 分钟前
【OpenCV】第二章——图像处理基础
图像处理·人工智能·opencv·计算机视觉