You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

10 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

、服务器端下载

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镜像

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、包安装

# 开始部署
cd D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server
pip install -r requirements.txt

2、音频库安装

# 音频的编码解码库
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.

# 找到报错文件 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端服务启动

# 启动后端服务【端口8002】
D:\dsWork\DuoDuoProject\xiaozhi-esp32-server-0.7.1\main\xiaozhi-server\app.py

6、JAVA OTA启动

7、启动前端页面

# 安装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

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

  • 固件下载

    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

六、网络映射

网络映射

# 知识库
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

配置地址

# 在手机上显示高级中配置
http://www.hzkjai.com:27012/xiaozhi/ota/

# 这个需要在WEB UI中配置
ws://www.hzkjai.com:27014/xiaozhi/v1/

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

七、相关资料

  1. 固件开源地址

  2. 服务端开源地址

  3. Windows搭建 ESP IDF 5.4.1开发环境以及编译小智

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

  5. 购买店铺链接

  6. 开源小智Server视频教程

  7. 编译固件方法

八、与知识库融合

# 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}"""