You need to enable JavaScript to run this app.
导航
外部文本输入语音合成
最近更新时间:2025.03.05 19:29:21首次发布时间:2025.03.04 17:21:05

在用户与智能体进行语音互动过程中,你可能需要智能体主动播报外部文本内容,引导客户互动、提醒用户注意事项、或提供重要信息。你可以使用该功能实现。

应用场景

场景描述示例
AI 陪练用户长时间不说话时,智能体播放内容吸引用户继续互动。"我注意到你有一会儿没说话了,需要我解释一下刚才的内容吗?"
桌游主持智能体扮演主持人角色,引导用户完成游戏流程。“现在轮到玩家 A 发言,请开始。”
安全监管用户问题或大模型生成内容不合规时,引导用户调整会话内容。"抱歉,对话内容不符合社区规范。"
延迟安抚触发 Function Calling 或联网造成智能体回答延迟偏大时,引导用户耐心等待。"正在处理,请稍等。"

实现方法

1. 构建对话式 AI 场景

参考场景搭建 Web 已实现场景搭建。

2. 传入需要播报的文本内容

你可以通过以下两种方式传入外部文本信息:

调用 UpdateVoiceChat接口,设置以下参数传入播报内容,并控制智能体的播报行为:

  • Command:填入 ExternalTextToSpeech,表示通过文本转语音(TTS)进行播报。
  • Message:填入外部文本内容,长度不超过 200 个字符。
  • InterruptMode:设置文本内容播报的优先级。
    • InterruptMode1 时:高优先级。智能体会终止当前交互,直接播放传入的文本内容。
    • InterruptMode2 时:中优先级。智能体会在当前交互结束后,播放传入的文本内容。
    • InterruptMode3 时:低优先级。如果此时智能体正在交互,智能体会直接丢弃传入的文本内容。如果未在交互,智能体会播放传入的文本内容。

你可参看以下示例进行传入外部文本信息进行播放:

POST https://rtc.volcengineapi.com?Action=UpdateVoiceChat&Version=2024-12-01
{
    "AppId": "661e****543cf", // RTC 应用 AppId
    "RoomId": "Room1", // 会话房间 ID
    "TaskId": "task1", // 会话任务 ID
    "Command": "ExternalTextToSpeech", //控制命令,此处填入 ExternalTextToSpeech
    "Message": "你刚才的故事讲的真棒,能再讲一个吗。" // 外部文本内容,长度不超过 200 个字符。
    "InterruptMode": 1 //文本内容播报的优先级。
}

FAQ

Q1:如果设置智能体支持语音打断,外部文本信息不打断智能体输出。本次交互被语音打断时,外部文本信息何时播放?
A1:此时外部文本信息会被丢弃。

Q2:播放的外部文本信息是否会放入历史对话?
A2:会。

Q3:如果设置智能体支持语音打断,外部文本消息不打断智能体输出。外部文本播放时被打断,该文本消息是否会放在历史对话中?
A3:已输出的内容会放入历史对话中。