支持。可通过 UpdateVoiceChat 来实现(字段 Command 需设置为 ExternalTextToLLM)。具体操作,请参见传入文本直接提问(立即回复)。
支持。不支持传统运营商电话,但可以通过 SIP2RTC 方式和 PSTN 公共电话网络互通,需要自集成 RTC Linux SDK,以接入你的网络电话系统做流中转的方式自行实现。
LLMConfig.HistoryLength 配置保留的历史对话轮数。在 IoT 场景,实时对话式 AI 支持通过 WebSocket 接入。详细说明,请参见什么是硬件对话智能体。
目前仅支持 1v1,即一个客户端用户、一个智能体。
支持。具体实现方式,请参见外部图片理解。
如果没有主动退出房间,在 Token 过期前不会自动关闭房间。
支持。可以通过 UpdateVoiceChat 接口发送 ExternalTextToSpeech 指令,让智能体主动播报指定的文本(如安抚语、引导话术)。具体操作,请参见自定义语音播放。
RTC 关于并发目前没有限制。
可以。在豆包语音控制台可以购买音色,获取 voice_type 值后填入 StartVoiceChat 接口。不同服务下具体支持的音色不同,支持音色详情参看不同服务下的音色列表。
支持。你可以使用火山引擎声音复刻大模型。详细说明,请参见语音合成配置。
可以。可通过字幕功能接收,具体请参见字幕功能。
可以。可参看 Function Calling 功能实现。
不支持。
可使用云端录制功能存储,详情参看关于云端录制。
可通过 setRemoteAudioPlaybackVolume 接口调节本地播放的所有音频的音量。
不同房间模式下,对声音的处理策略不同,会导致不同场景下的声音高低不同。
可在启动智能体任务前,将上一次对话内容传入 LLMConfig.UserPrompts 作为对话上下文。
部分配置可以。可通过 UpdateVoiceChat 接口在对话过程中实时更新配置(如更换 Prompt、更换音色、调整语速),无需重启任务。具体支持修改的配置,以 UpdateVoiceChat 的 Parameters 对象为准。
是的。单用户 QPS 限制是指火山引擎主账号及其子账号每秒调用特定 API 的频率上限。例如,StartVoiceChat接口的单用户 QPS 限制为 60 次/秒,假设用户有 1 个主账号,该主账号有 4 个子账号,如果这 5 个账号同时调用StartVoiceChat接口,则这 5 个账号的调用频率加起来不能超过 60 次/秒。
智能体不具备语音唤醒算法能力,但可以和外部语音唤醒联动,在收到语音唤醒后启动任务并进房。
可以使用打断功能 组合静音麦克风暂停与智能体的交互。
可以。可以通过大模型配置中的 SystemMessages 配置。详情可参看大模型配置。
可以。根据业务需求,支持通过以下三种方式实现:
方式 | 说明 | 相关文档 |
|---|---|---|
禁用语音打断 | 智能体说话期间,用户的任何语音输入都会被系统忽略,不会触发打断。此时只能通过 API 发送 | |
仅关键词打断 | 只有当用户说出特定关键词时才会打断,普通说话或背景人声不会触发打断。 | |
手动触发对话模式 | 系统不再自动判定一句话的结束,需业务层通过信令手动触发新一轮对话,从而避免因用户随意的插话而打断智能体。 |
可以。具体操作,请参见接入知识库 RAG。
可以。具体操作请参看自定义语音播放。
可以。但需要注意并发数,具体 QPS 限制请参考各个服务官网。
StartVoiceChat 智能体接口时,是否支持海外请求地址?火山引擎服务不支持海外请求地址,需使用 BytePlus 服务。接口说明请参考对应的 BytePlus 文档 StartVoiceChat。
对比维度 | (推荐)流式 Function Calling | 非流式 Function Calling |
|---|---|---|
结果返回方式 | 逐步返回工具调用信息,更快收到 Function Calling 结果。 | 大模型分析后,一次性返回完整的工具调用指令。 |
用户体验 | 更流畅自然。可通过播报“安抚语”(如“正在查询...”)填充等待时间,消除静默感。 | 在等待工具执行时,有明显静默停顿,用户感知延迟较高。 |
模型支持 | Doubao 1.5 及之后代系模型、DeepSeek 模型。具体支持的模型,请参见支持模型。 | 所有支持Function Calling的模型均支持此方式。
|
不支持直接保存推理过程,但对话结果(字幕)可以保存。
可以使用配置对话触发模式选择手动触发新一轮对话,智能体未接收触发新一轮对话开始信令时,不会被新的语音输入打断。