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系统上配置,将踩过的坑进行总结、经验分享。

相关推荐
外域速览10 分钟前
OpenAI 智能体「越狱」风波未平,苹果折叠屏 iPhone Ultra 下周三登场
人工智能·ios·iphone
william_yangshun4 小时前
【AI Agent 实战】agent-vision-toolkit 中文版:给纯文本模型(DeepSeek)装上视觉能力
人工智能·多模态
智能体与具身智能5 小时前
TVA具身智能的概念、架构与应用(19)
人工智能·python·具身智能
AI智能体工作室5 小时前
生产级 RAG 检索增强架构实战:向量数据库、混合检索(Hybrid Search)、RRF 融合与重排(Rerank)全链路
人工智能
虹科数字化与AR5 小时前
拓影Twyn能替代三坐标吗?AR视觉检查与精密计量的正确分工
经验分享
geinvse_seg5 小时前
我做了个 AI 架构审查员,把整个微服务项目通读了一遍,还顺手做成了 Skill
人工智能
李帅朋5 小时前
微分基本定义笔记
人工智能·笔记·深度学习·神经网络
醍醐实验室5 小时前
下一代端到端全模态(Omni)模型解密:离散音频 Token 化与极速双工流式交互架构
人工智能
米小虾5 小时前
你的 Agent 有 1000 万上下文,为什么第 50 轮就开始失忆?
人工智能·agent
东风破_5 小时前
Text2SQL :用自然语言操作 SQLite 数据库
人工智能·后端