mirror of
https://github.com/xinnan-tech/xiaozhi-esp32-server.git
synced 2026-07-22 07:03:53 +08:00
update:更新说明文档 (#649)
* update:添加设备注册验证码接口 * update:更新说明文档 * update:优化说明文档 * update:更新说明文档
This commit is contained in:
+139
@@ -0,0 +1,139 @@
|
||||
# 常见问题 ❓
|
||||
|
||||
### 1、为什么我说的话,小智识别出来很多韩文、日文、英文?🇰🇷
|
||||
|
||||
建议:检查一下`models/SenseVoiceSmall`是否已经有`model.pt`
|
||||
文件,如果没有就要下载,查看这里[下载语音识别模型文件](Deployment.md#模型文件)
|
||||
|
||||
### 2、为什么会出现"TTS 任务出错 文件不存在"?📁
|
||||
|
||||
建议:检查一下是否正确使用`conda` 安装了`libopus`和`ffmpeg`库。
|
||||
|
||||
如果没有安装,就安装
|
||||
|
||||
```
|
||||
conda install conda-forge::libopus
|
||||
conda install conda-forge::ffmpeg
|
||||
```
|
||||
|
||||
### 3、TTS 经常失败,经常超时 ⏰
|
||||
|
||||
建议:如果 `EdgeTTS` 经常失败,请先检查是否使用了代理(梯子)。如果使用了,请尝试关闭代理后再试;
|
||||
如果用的是火山引擎的豆包 TTS,经常失败时建议使用付费版本,因为测试版本仅支持 2 个并发。
|
||||
|
||||
### 4、如何提高小智对话响应速度? ⚡
|
||||
|
||||
本项目默认配置为低成本方案,建议初学者先使用默认免费模型,解决"跑得动"的问题,再优化"跑得快"。
|
||||
如需提升响应速度,可尝试更换各组件。以下为各组件的响应速度测试数据(仅供参考,不构成承诺):
|
||||
|
||||
| 影响因素 | 因素值 |
|
||||
|:-----:|:----------------:|
|
||||
| 测试地点 | 广东省广州市海珠区 |
|
||||
| 测试时间 | 2025年2月19日 12:52 |
|
||||
| 宽带运营商 | 中国联通 |
|
||||
|
||||
测试方法:
|
||||
|
||||
1、把各组件的密钥配置上去,只有配置了密钥的组件才参与测试。
|
||||
|
||||
2、配置完密钥后,执行以下方法
|
||||
|
||||
```
|
||||
# 进入项目根目录,执行以下命令:
|
||||
conda activate xiaozhi-esp32-server
|
||||
python performance_tester.py
|
||||
```
|
||||
|
||||
生成报告如下
|
||||
|
||||
LLM 性能排行:
|
||||
|
||||
| 模块名称 | 平均首Token时间 | 平均总响应时间 |
|
||||
|:-----------|:-----------|:--------|
|
||||
| AliLLM | 0.547s | 1.485s |
|
||||
| ChatGLMLLM | 0.677s | 3.057s |
|
||||
|
||||
TTS 性能排行:
|
||||
|
||||
| 模块名称 | 平均合成时间 |
|
||||
|----------------------|--------|
|
||||
| EdgeTTS | 1.019s |
|
||||
| DoubaoTTS | 0.503s |
|
||||
| CosyVoiceSiliconflow | 3.732s |
|
||||
|
||||
推荐配置组合 (综合响应速度):
|
||||
|
||||
| 组合方案 | 综合得分 | LLM首Token | TTS合成 |
|
||||
|-------------------------------|-------|-----------|--------|
|
||||
| AliLLM + DoubaoTTS | 0.539 | 0.547s | 0.503s |
|
||||
| AliLLM + EdgeTTS | 0.642 | 0.547s | 1.019s |
|
||||
| ChatGLMLLM + DoubaoTTS | 0.642 | 0.677s | 0.503s |
|
||||
| ChatGLMLLM + EdgeTTS | 0.745 | 0.677s | 1.019s |
|
||||
| AliLLM + CosyVoiceSiliconflow | 1.184 | 0.547s | 3.732s |
|
||||
|
||||
### 结论 🔍
|
||||
|
||||
`2025年2月19日`,如果我的电脑在`广东省广州市海珠区`,且使用的是`中国联通`网络,我会优先使用:
|
||||
|
||||
- LLM:`AliLLM`
|
||||
- TTS:`DoubaoTTS`
|
||||
|
||||
### 5、我说话很慢,停顿时小智老是抢话 🗣️
|
||||
|
||||
建议:在配置文件中找到如下部分,将 `min_silence_duration_ms` 的值调大(例如改为 `1000`):
|
||||
|
||||
```yaml
|
||||
VAD:
|
||||
SileroVAD:
|
||||
threshold: 0.5
|
||||
model_dir: models/snakers4_silero-vad
|
||||
min_silence_duration_ms: 700 # 如果说话停顿较长,可将此值调大
|
||||
```
|
||||
|
||||
### 6、我想通过小智控制电灯、空调、远程开关机等操作 💡
|
||||
|
||||
本项目,支持以工具调用的方式控制HomeAssistant设备
|
||||
|
||||
1、首先选择一款支持function call支持的LLM,例如`ChatGLMLLM`。
|
||||
|
||||
2、在配置文件中,将 `selected_module.Intent` 设置为 `function_call`。
|
||||
|
||||
3、登录`HomeAssistant`,点击`左下角个人`,切换`安全`导航栏,划到底部`长期访问令牌`生成api_key。
|
||||
|
||||
在配置文件中,配置好你的home assistant的`devices`(被控制的设备)和`api_key`和`base_url`等信息。例如:
|
||||
|
||||
``` yaml
|
||||
plugins
|
||||
home_assistant:
|
||||
devices:
|
||||
- 客厅,玩具灯,switch.cuco_cn_460494544_cp1_on_p_2_1
|
||||
- 卧室,台灯,switch.iot_cn_831898993_socn1_on_p_2_1
|
||||
base_url: http://你的homeassistant地址:8123
|
||||
api_key: 你的home assistant api访问令牌
|
||||
```
|
||||
|
||||
最后,允许function_call 插件在配置文件中启用`hass_get_state`(必须)、`hass_set_state`(必须)、`hass_play_music`(不想用ha听音乐可以不启动),例如:
|
||||
|
||||
``` yaml
|
||||
Intent:
|
||||
...
|
||||
function_call:
|
||||
type: nointent
|
||||
functions:
|
||||
- change_role
|
||||
- get_weather
|
||||
- get_news
|
||||
- hass_get_state
|
||||
- hass_set_state
|
||||
- hass_play_music
|
||||
```
|
||||
|
||||
### 7、更多问题,可联系我们反馈 💬
|
||||
|
||||
我们的联系方式放在[百度网盘中,点击前往](https://pan.baidu.com/s/1x6USjvP1nTRsZ45XlJu65Q),提取码是`223y`。
|
||||
|
||||
网盘里有"硬件烧录QQ群"、"开源服务端交流群"、"产品建议联系人" 三张图片,请根据需要选择加入。
|
||||
|
||||
- 硬件烧录QQ群:适用于硬件烧录问题
|
||||
- 开源服务端交流群:适用于服务端问题
|
||||
- 产品建议联系人:适用于产品功能、产品设计等建议
|
||||
Reference in New Issue
Block a user