149 lines
5.2 KiB
Markdown
149 lines
5.2 KiB
Markdown
# 常见问题 ❓
|
||
|
||
### 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群:适用于硬件烧录问题
|
||
- 开源服务端交流群:适用于服务端问题
|
||
- 产品建议联系人:适用于产品功能、产品设计等建议 |