|
|
# 常见问题 ❓
|
|
|
|
|
|
### 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、使用Wifi能连接自建服务器,但是4G模式却接不上 🔐
|
|
|
|
|
|
原因:虾哥的固件,4G模式需要使用安全连接。
|
|
|
|
|
|
解决方法:目前有两种方法可以解决。任选一种:
|
|
|
|
|
|
1、改代码。参考这个视频解决 https://www.bilibili.com/video/BV18MfTYoE85
|
|
|
|
|
|
2、使用nginx配置ssl证书。参考教程 https://icnt94i5ctj4.feishu.cn/docx/GnYOdMNJOoRCljx1ctecsj9cnRe
|
|
|
|
|
|
### 5、如何提高小智对话响应速度? ⚡
|
|
|
|
|
|
本项目默认配置为低成本方案,建议初学者先使用默认免费模型,解决"跑得动"的问题,再优化"跑得快"。
|
|
|
如需提升响应速度,可尝试更换各组件。以下为各组件的响应速度测试数据(仅供参考,不构成承诺):
|
|
|
|
|
|
| 影响因素 | 因素值 |
|
|
|
|:-----:|:----------------:|
|
|
|
| 测试地点 | 广东省广州市海珠区 |
|
|
|
| 测试时间 | 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`
|
|
|
|
|
|
### 6、我说话很慢,停顿时小智老是抢话 🗣️
|
|
|
|
|
|
建议:在配置文件中找到如下部分,将 `min_silence_duration_ms` 的值调大(例如改为 `1000`):
|
|
|
|
|
|
```yaml
|
|
|
VAD:
|
|
|
SileroVAD:
|
|
|
threshold: 0.5
|
|
|
model_dir: models/snakers4_silero-vad
|
|
|
min_silence_duration_ms: 700 # 如果说话停顿较长,可将此值调大
|
|
|
```
|
|
|
|
|
|
### 7、我想通过小智控制电灯、空调、远程开关机等操作 💡
|
|
|
|
|
|
本项目,支持以工具调用的方式控制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
|
|
|
```
|
|
|
|
|
|
### 8、更多问题,可联系我们反馈 💬
|
|
|
|
|
|
我们的联系方式放在[百度网盘中,点击前往](https://pan.baidu.com/s/1x6USjvP1nTRsZ45XlJu65Q),提取码是`223y`。
|
|
|
|
|
|
网盘里有"硬件烧录QQ群"、"开源服务端交流群"、"产品建议联系人" 三张图片,请根据需要选择加入。
|
|
|
|
|
|
- 硬件烧录QQ群:适用于硬件烧录问题
|
|
|
- 开源服务端交流群:适用于服务端问题
|
|
|
- 产品建议联系人:适用于产品功能、产品设计等建议 |