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.参考资料

1miniconda配置,创建虚拟环境

3小智AI聊天机器人百科全书

2小智官方文档服务器端配置

9.声明

本篇文章在小智官方文档的学习下,Mac系统上配置,将踩过的坑进行总结、经验分享。

相关推荐
小马过河R3 小时前
Graph Engineering 深度解析:模型越强,越需要给它画好“地图”
人工智能·langchain·graph·ai工程化·harness·驾驭工程
leisoo80973 小时前
涨停板次日表现因子怎么挖掘本地化Python全流程实战
大数据·人工智能·python
lucas_AI3 小时前
喂张白纸也能吐出证件号?文档 MLLM 的"关系级泄露"被测出来了
人工智能·算法·掘金技术征文
Old Uncle Tom3 小时前
手机银行用户画像设计
人工智能·智能手机
kyriewen3 小时前
前端切图仔被 AI 新闻淹死的第 N 天,我用 TRAE Work 定时任务救了自己
前端·人工智能·trae
手写码匠3 小时前
华为云Flexus+DeepSeek征文|Dify 多 Agent 灰度发布实战:让每一次变更都“小步快跑、随时可回滚“
人工智能·深度学习·算法·aigc
火云牌神3 小时前
分层整洁架构:标准化工程目录结构,防范 AI 越界调用
人工智能·架构·ai编程·分层架构·vibecoding
新知图书3 小时前
8.1 智能体的心跳执行模式:以定时器为核心(智能体工程)
人工智能·agent·ai agent·智能体
墨心@4 小时前
阶段 4:事件总线
人工智能·语言模型·大语言模型·agent·codex·harness
AbrahamCS4 小时前
从角色协同到可运行图:Graph Engineer 与多智能体编排
前端·人工智能·智能体