|
|
|
|
### **一**、服务器端下载
|
|
|
|
|
https://github.com/xinnan-tech/xiaozhi-esp32-server
|
|
|
|
|
|
|
|
|
|
### 二、安装$Anaconda3$
|
|
|
|
|
|
|
|
|
|
下载地址
|
|
|
|
|
|
|
|
|
|
> https://www.anaconda.com/download
|
|
|
|
|
|
|
|
|
|
将下面的四个目录添加到环境变量中
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
D:\anaconda3\Library\mingw-w64\bin
|
|
|
|
|
D:\anaconda3\Library\bin
|
|
|
|
|
D:\anaconda3\Library\usr\bin
|
|
|
|
|
D:\anaconda3\Scripts
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
确认是否安装成功
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
WIN+R,输入cmd打开控制台,输入conda -V
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用$Anaconda$ 的黑窗口进行配置
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Anaconda (anaconda3)\Anaconda Prompt.lnk
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
设置$Anaconda$镜像
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
conda config --remove-key channels
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
|
|
|
|
|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
|
|
|
|
|
conda config --show channels
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**创建环境**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
conda create --name xiaozhi-esp32-server python=3.10
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**激活环境**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
conda activate xiaozhi-esp32-server
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 三、部署步骤
|
|
|
|
|
|
|
|
|
|
**1、包安装**
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
# 开始部署
|
|
|
|
|
cd D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server
|
|
|
|
|
pip install -r requirements.txt
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**2、音频库安装**
|
|
|
|
|
|
|
|
|
|
```shell
|
|
|
|
|
# 音频的编码解码库
|
|
|
|
|
pip install opuslib
|
|
|
|
|
pip install ffmpeg
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
**安装音频处理工具,录制,转码,剪辑等**
|
|
|
|
|
|
|
|
|
|
https://github.com/ShiftMediaProject/opus/releases/download/v1.4/libopus_v1.4_msvc17.zip
|
|
|
|
|
|
|
|
|
|
依据下面的文档指示,对环境代码进行配置:
|
|
|
|
|
|
|
|
|
|
[解决Exception: Could not find Opus library. Make sure it is installed.](https://blog.csdn.net/Rysxt_/article/details/146361114)
|
|
|
|
|
|
|
|
|
|
``` python
|
|
|
|
|
# 找到报错文件 D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\.venv\Lib\site-packages\opuslib_next\api\__init__.py
|
|
|
|
|
|
|
|
|
|
if lib_location is None:
|
|
|
|
|
lib_location = r'D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\opus.dll'
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**3、语音识别库安装**
|
|
|
|
|
|
|
|
|
|
下载语音识别模型文件
|
|
|
|
|
|
|
|
|
|
> https://pan.baidu.com/share/init?surl=QlgM58FHhYv1tFnUT_A8Sg&pwd=qvna
|
|
|
|
|
|
|
|
|
|
将model.pt 放到
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server\models\SenseVoiceSmall
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**4、配置文件**
|
|
|
|
|
|
|
|
|
|
**配置项目**
|
|
|
|
|
|
|
|
|
|
- 创建data目录
|
|
|
|
|
- 把源码目录下的config.yaml文件复制一份,重命名为.config.yaml
|
|
|
|
|
|
|
|
|
|
**5、Python端服务启动**
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
# 启动后端服务【端口:8002】
|
|
|
|
|
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server\app.py
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**6、$JAVA$ $OTA$启动**
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**7、启动前端页面**
|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
# 安装Node.js
|
|
|
|
|
|
|
|
|
|
#我的电脑:
|
|
|
|
|
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\manager-web
|
|
|
|
|
|
|
|
|
|
#在地址栏输入 cmd 回车,然后输入:
|
|
|
|
|
npm install
|
|
|
|
|
npm run serve
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
**8、测试页面**
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
file:///D:/dsWork/DuoDuoProject/xiaozhi-esp32-server-0.7.1/main/xiaozhi-server/test/test_page.html
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
```cmd
|
|
|
|
|
http://127.0.0.1:8001/#/home
|
|
|
|
|
huanghai
|
|
|
|
|
DsideaL@123
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### 四、Windows搭建 ESP IDF 5.4.1开发环境以及编译小智
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### 五、下载固件
|
|
|
|
|
|
|
|
|
|
**驱动程序**
|
|
|
|
|
|
|
|
|
|
`CH343SER.EXE`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- **实验材料**
|
|
|
|
|
处理器型号 $ESP32-S3-N16R8$
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
屏幕 $0.91$英寸,$SSD$ $1306$,分辨率:$128*32$
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
- 固件下载
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
https://github.com/78/xiaozhi-esp32/releases
|
|
|
|
|
https://github.com/78/xiaozhi-esp32/releases/download/v1.7.6/v1.7.6_bread-compact-esp32-128x32.zip
|
|
|
|
|
|
|
|
|
|
# v1.7.6 小智AI终端最新版本固件下载
|
|
|
|
|
https://ccnphfhqs21z.feishu.cn/wiki/W14Kw1s1uieoKjkP8N0c1VVvn8d
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 开始烧录
|
|
|
|
|
|
|
|
|
|
- 
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
烧录完成后,按下主板上的RST按钮,也就是板子右侧上方第一个按钮。
|
|
|
|
|
|
|
|
|
|
然后进入配网模式:
|
|
|
|
|
查看显示屏上的热点名称,即SSID值,用手机或电脑连接到此热点,对ESP32主板进行配网,让其连入WIFI
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 六、网络映射
|
|
|
|
|
|
|
|
|
|
**网络映射**
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 知识库
|
|
|
|
|
8000 --->8100
|
|
|
|
|
|
|
|
|
|
# 小智
|
|
|
|
|
8000 websocket --> ws://www.hzkjai.com:27014
|
|
|
|
|
8001 WEB UI --> http://www.hzkjai.com:27011
|
|
|
|
|
8002 OTA+JAVA --> http://www.hzkjai.com:27012
|
|
|
|
|
8003 http server --> http://www.hzkjai.com:27013
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**配置地址**
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 在手机上显示高级中配置
|
|
|
|
|
http://www.hzkjai.com:27012/xiaozhi/ota/
|
|
|
|
|
|
|
|
|
|
# 这个需要在WEB UI中配置
|
|
|
|
|
ws://www.hzkjai.com:27014/xiaozhi/v1/
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
需要注意的是绘制科技的服务器,需要配置一下安全策略的范围:
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
### 七、相关资料
|
|
|
|
|
|
|
|
|
|
1. [固件开源地址](https://github.com/78/xiaozhi-esp32)
|
|
|
|
|
|
|
|
|
|
2. [服务端开源地址](https://github.com/xinnan-tech/xiaozhi-esp32-server)
|
|
|
|
|
|
|
|
|
|
3. [Windows搭建 ESP IDF 5.4.1开发环境以及编译小智](https://icnynnzcwou8.feishu.cn/wiki/JEYDwTTALi5s2zkGlFGcDiRknXf)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. [小智 AI 聊天机器人百科全书](
|
|
|
|
|
https://ccnphfhqs21z.feishu.cn/wiki/F5krwD16viZoF0kKkvDcrZNYnhb)
|
|
|
|
|
5. [购买店铺链接](https://docs.qq.com/sheet/DWmRhbnVHSnRWc2xz?tab=vajqu5)
|
|
|
|
|
6. [开源小智Server视频教程](https://space.bilibili.com/2042143558/lists/4859662?type=season)
|
|
|
|
|
7. [编译固件方法](https://github.com/xinnan-tech/xiaozhi-esp32-server/blob/main/docs/firmware-build.md)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
### 八、与知识库融合
|
|
|
|
|
|
|
|
|
|
```python
|
|
|
|
|
# 648行
|
|
|
|
|
self.llm_finish_task = False
|
|
|
|
|
|
|
|
|
|
# 【黄海修改】
|
|
|
|
|
history="""
|
|
|
|
|
项羽篇
|
|
|
|
|
巨鹿之战(前207年)
|
|
|
|
|
• 破釜沉舟歼灭秦军主力,奠定反秦战争胜局
|
|
|
|
|
• 战后坑杀秦卒20万,引发关中民怨
|
|
|
|
|
|
|
|
|
|
鸿门宴(前206年)
|
|
|
|
|
• 错失诛杀刘邦良机,分封其为汉王
|
|
|
|
|
• 范增"举玦示杀"典故来源
|
|
|
|
|
|
|
|
|
|
垓下之围(前202年)
|
|
|
|
|
• 十面埋伏战术与"四面楚歌"心理战
|
|
|
|
|
• 乌江自刎前作《垓下歌》
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
刘邦篇
|
|
|
|
|
约法三章(前206年)
|
|
|
|
|
• 入咸阳后废除秦苛政,仅保留杀人、伤人、盗窃三罪
|
|
|
|
|
暗度陈仓(前206年)
|
|
|
|
|
• 采纳张良计策烧毁栈道麻痹项羽
|
|
|
|
|
• 秘密经陈仓道还定三秦
|
|
|
|
|
荥阳对峙(前204-前203年)
|
|
|
|
|
• 采用陈平反间计使项羽猜忌范增
|
|
|
|
|
|
|
|
|
|
张良篇
|
|
|
|
|
博浪沙刺秦(前218年)
|
|
|
|
|
• 组织刺杀秦始皇未遂,开启反秦生涯
|
|
|
|
|
鸿门斡旋(前206年)
|
|
|
|
|
• 策动项伯保护刘邦,安排樊哙闯帐
|
|
|
|
|
下邑画策(前205年)
|
|
|
|
|
• 提出"重用韩信、联合彭越、策反英布"战略三角
|
|
|
|
|
|
|
|
|
|
韩信篇
|
|
|
|
|
萧何月下追韩信(前206年)
|
|
|
|
|
• 从治粟都尉拜为大将的转折点
|
|
|
|
|
背水一战(前204年)
|
|
|
|
|
• 井陉之战以3万新兵击溃20万赵军
|
|
|
|
|
请封假齐王(前203年)
|
|
|
|
|
• 讨要封赏触发刘邦杀机的重要事件
|
|
|
|
|
"""
|
|
|
|
|
# query = '讲一下史记中项羽的故事'
|
|
|
|
|
query = f"""【系统指令】请特别注意:
|
|
|
|
|
1. 当用户问题包含"史记"时,仅回复:"你真是问对人了,我读过《少年读史记》五本书呢!"
|
|
|
|
|
2. 其他情况请正常回答问题
|
|
|
|
|
3. 本指令优先级最高
|
|
|
|
|
4. 当用户问题包含"史记"时,使用我提供的一些资料:{history}
|
|
|
|
|
【当前用户问题】:{query}"""
|
|
|
|
|
```
|
|
|
|
|
|