对话响应延时分析及优化建议
该文档辅助分析用户对话端到端延时是否正常,以及优化建议。
问题类型延时均值参考范围(采用默认模型)
-聊天对话:1.2秒~2秒
-联网搜索:1.5秒~2.6秒(关闭垫句);1.2秒~2秒(开启垫句)
-云播有声内容:1.2秒~2秒
-Function Calling:1秒~1.8秒 (参数少于2个)
影响延时的因素分析及优化建议
硬件平台差异:不同的硬件平台延时有较大差异,有大几百毫秒的差别。 移动端SDK(andorid、ios、H5 SDK)延时最低,可达到平台最优值。 RTOS平台中乐鑫ESP32-S3 SDK延时表现最为良好,聊天对话延时最优可达1.4秒左右,其他平台延时大多在1.5~1.8秒范围。
RTOS集成方式-SDK or Websocket:在纯语音交互场景,两者延时相差不明显,正常网络情况下差异在100ms之内,弱网SDK表现占优。
技术架构-端到端语音模型 or 三段式结构: 本方案支持端到端语音模型、三段式(ASR+LLM+TTS)两种技术架构。 端到端延时约在1秒左右,但扩展能力弱;三段式模式延时约增加200~400ms,但可定制、扩展性强。选择技术方案根据具体场景而定。
TTS音色差异:经实测发现,同等条件下,不同的TTS音色延时差别偏大,最大差异达到800ms。延时表现良好的TTS音色有:1000002、1000012、1000029、1000007、1000011、1000006、1000024等。具体可在控制台上体验挑选。
人设模型差异:系统提供的多个人设模型可选择,不同的模型延时不一样。例如千帆的ip charactor模型比默认模型延时增加300~500ms。
接入第三方模型服务:系统支持接入第三方模型、智能体平台。延时大小 = 第三方模型服务返回首句延时 + 1.0秒。
设备端侧数据缓存大小:建议启播缓冲在100~300ms, 最大缓冲在500~1000ms. 如果结合云端的快速起播功能(近期推出),最大缓冲可适当增大。
创建智能体参数:调用generateAIAgentCall接口,传入config参数:
1 * `dfda:true` 可降低300~500ms延时,在少数硬件平台有解码兼容性问题。
2 * `tts_end_delay_ms:50` 设置较小的值,端侧可以快速接收到TTS_END_SPEAKING事件。
3
音频格式选择:RTOS设备计算能力、网络能力偏弱, 也会影响到交互延时。建议均衡选择音频编码格式。
1 * pcmu或 raw : 采样率8K,计算消耗低,音质一般,数据量适中;
2 * raw16k: 采样率16K,计算消耗低,音质适中,数据量大;
3 * G722: 采样率16K,计算消耗偏高,音质适中,数据量适中;
4 * opus: 采样率从16k~48k, 计算消耗高,数据量小,音质良好。 上下行采样率可设置不同。
