在实时对话式 AI 场景中,流畅、低延迟的对话是用户体验的关键。如果你的智能体回复存在较高的延迟,可以尝试通过以下几种方法解决。
智能体通过 VAD(语音活动检测)来判断用户何时结束说话。一个过长的判停时间会导致智能体响应迟缓。你可以适当降低 ASRConfig.VADConfig.SilenceTime 的值来减少判停时间。
示例:将 SilenceTime 设置为 600 (ms),则当用户说话停顿超过 600 毫秒时,智能体会认为用户说话完成,开始回复播报内容。
当开启语音自动打断时 (InterruptMode 设置为 0),你还可以通过降低 InterruptConfig.InterruptSpeechDuration 的值来进一步提升语音打断的灵敏性。
示例:
InterruptSpeechDuration 设为 100 (ms),表示用户持续说话 100 毫秒后,智能体就会停止输出。InterruptSpeechDuration 设为 0,则表示一旦检测到用户发出包含真实语义的声音,智能体便会立刻停止输出。如果你的业务场景任务复杂度不高、但对实时性要求很高,建议选择轻量级模型(如 Doubao-lite)来替代大参数模型(如Doubao-pro)。当前,更推荐使用 Doubao-seed-1.6-flash(关闭深度思考模式)。
部分深度思考模型(例如 doubao-seed-1.6、doubao-seed-1.6-flash 等)支持关闭深度思考能力。在实时对话式 AI 场景中,如果你接入了上述深度思考模型,我们强烈推荐你关闭深度思考模式,以减少模型推理延迟,让对话更流畅。
配置方法:将 LLMConfig.ThinkingType 设置为 disabled来关闭思考能力。
你可以将 LLMConfig.Prefill 设置为 true 来开启 Prefill 策略,允许将 ASR 识别中间结果提前发送给大模型进行处理,以降低延迟。
注意
开启 Prefill 后会产生额外模型消耗。
火山引擎提供了语音合成、语音合成大模型、声音复刻大模型等多种 TTS 接入方案,合成速度从快到慢为:语音合成 > 语音合成大模型 > 声音复刻大模型。
如果你对延迟要求特别高,且音色、情感色彩等要求不高,可以选择火山引擎语音合成。
TTS 需要持续接收文本攒句到语义完整后,才会开始语音合成,以保障语音合成的情感和流畅度。因此,优化 LLM 的平均 token 生成时间(TPOT),可以显著减少 TTS 的内容等待时间,从而降低整体延迟。
你可以将 AgentConfig.Burst.Enable 的值设置为 true,以开启“音频快速发送配置”。开启后,该功能可通过快速发送音频数据包,有效保障弱网环境下的传输稳定性和播报速度。
注意
Burst 策略仅在嵌入式硬件场景下支持,且嵌入式 Linux SDK 版本不低于 1.57。
硬件本身采集编码、解码会产生耗时,如果在链路中有缓存,耗时还会增加,从而影响整体延迟。建议外挂使用火山引擎 RTC 的 G711A 编解码库进行优化联系技术支持,同时至 RTC 控制台_功能配置 启用硬件场景配置。
通过增强算力保障,可以使模型的输出耗时更稳定,提升首个 token 生成时间(TTFT)和平均 token 生成时间(TPOT),从而降低整体延迟。
如果你希望对高流量业务提供资源保障,或者希望线上业务的请求延迟更低,可以使用 TPM 保障包。相比按 Token 计费,TPM 保障包的延迟更低(如 Doubao-1.5-pro 模型的TPM 保障包,TPOT(Time per Output Token)可低至 20 ms)。
如果你对线上业务的资源确定性要求较高,或者希望模型的推理延迟更低,你可以使用模型单元,它能提供专属算力,对精调后模型表现更优。
注意
模型单元支持 doubao 1.5 及之后版本的模型(实际支持模型情况以控制台显示为准)。详细说明及如何购买,请参见模型单元。
如果你在实时对话式 AI 场景中使用了一些高耗时的功能,比如 Function Calling、联网检索、知识库检索等造成智能体回复延迟偏大时,你可以使用“延时安抚”来引导客户耐心等待(如“正在为你检索哦,请稍等”),提升用户的使用体验。
具体操作,可参见自定义语音播放。