本文提供集成实时对话式 AI 场景的接入准备指南,涵盖服务开通、权限配置等步骤,确保 RTC 具备基础的资源接入能力与调用权限。
集成前准备包括开通服务和配置权限 2 步:
参看开通教程,开通 RTC 服务并创建应用。
类别 | 服务 | 服务选择建议 | 要求 |
---|---|---|---|
ASR | 流式语音识别 | 响应延迟较小,适用于响应速度要求高的语音控制场景,例如,实时问答、语音控制和会议速记 | 至少选择 1 项 |
流式语音识别大模型 | 识别准确率更高,适用于内容复杂或背景噪音较多的场景,例如,嘈杂场景对话、专业术语识别、多语种混合 | ||
TTS | 语音合成 | 常规语音播报需求,适合短语或标准回复,例如,提醒、系统反馈、数字播报 | 至少选择 1 项 |
语音合成大模型 | 注重语音自然度与情感表现的交互,适用于对话中需要自然语调与情感表达的场景,例如,客户服务、教育陪练、故事讲述 | ||
声音复刻大模型 | 可生成近似真人语音,适用于需要构建定制化语音形象时使用,例如,品牌数字人、虚拟主播、游戏角色 |
注意
火山引擎提供 3 种方式调用大模型服务。
调用方法 | 服务选择建议 |
---|---|
使用火山方舟在线推理 | 可快速调用火山方舟大模型。 说明 仅支持使用自定义推理接入点接入大模型,不支持使用预置推理接入点。 |
使用火山方舟应用 | 可通过零代码组合插件、知识库、工作流等功能调用大模型或基于应用 SDK 实现高代码编排方式。 详情可参看使用火山方舟应用实验室创建应用并获取应用 ID 进行调用。 |
使用 Coze 应用 | 可在零代码或低代码的基础上,组合插件、知识库、工作流等功能调用大模型。 详情可参看 Coze 快速开始 创建 Coze 智能体并获取 Coze 智能体 ID进行调用。 |
你也可以接入第三方大模型,但是第三方大模型接口需要符合约定标准规范,详情查看对话式 AI 第三方大模型接口验证。
你可以根据业务需要选择以下方式调用智能体:
主账号 | 子账号 | |
---|---|---|
服务端(推荐) | 使用主账号在服务端调用操作简单,鉴权仅需获取 AK SK 密钥信息,且密钥信息存储在服务端不易泄漏,但注意主账户具有账户的完全权限。 | 使用子账号在服务端调用操作相对复杂,但是密钥信息存储在服务端不易泄漏,且子账号只拥有赋予的调用智能体的权限,实现了权限的隔离和管控,操作安全。 |
客户端 | 使用主账号在客户端调用操作简单,鉴权仅需获取 AK SK 密钥信息,但注意 AK SK 存储在客户端容易泄漏,且注意主账户具有账户的完全权限, | 使用子账号在客户端调用操作复杂,鉴权需要获取临时AK、SK、临时 Token 密钥信息,避免了密钥信息一经泄漏造成重大损失,且子账号只在临时 Token 生效期间拥有调用智能体的权限,实现了权限最小化管控。 |
你可按照以下步骤实现使用主账号在服务端调用接口。
在主账号配置VoiceChatRoleForRTC
角色。
你需要在主账号配置 VoiceChatRoleForRTC
角色,以便 RTC 能够调用 ASR 、TTS 和 LLM 服务来实现与智能体实时对话,实现房间内智能体与真人用户互动。
配置成功后你可以在角色管理中找到该角色,该角色拥有SAFullAccess
、 MaaSExperienceAccess
和 RTCFullAccess
权限。
调用接口。
此时使用主账号的 AK、SK 即可调用 StartVoiceChat
接口,实现房间内智能体与真人用户互动。
你可按照以下步骤实现使用主账号在客户端调用接口。
在主账号配置VoiceChatRoleForRTC
角色。
你需要在主账号配置 VoiceChatRoleForRTC
角色,以便 RTC 能够调用 ASR 、TTS 和 LLM 服务来实现与智能体实时对话,实现房间内智能体与真人用户互动。
配置成功后你可以在角色管理中找到该角色,该角色拥有SAFullAccess
、 MaaSExperienceAccess
和 RTCFullAccess
权限。
调用接口。
此时使用主账号的 AK、SK 即可调用 StartVoiceChat
接口,实现房间内智能体与真人用户互动。
你可按照以下步骤实现使用子账号在服务端调用接口。
在主账号配置VoiceChatRoleForRTC
角色。
你需要在主账号配置 VoiceChatRoleForRTC
角色,以便 RTC 能够调用 ASR 、TTS 和 LLM 服务来实现与智能体实时对话,实现房间内智能体与真人用户互动。
配置成功后你可以在角色管理中找到该角色,该角色拥有SAFullAccess
、 MaaSExperienceAccess
和 RTCFullAccess
权限。
为子账号添加调用实时对话式 AI 接口权限。
此时使用子账号的 AK、SK 即可调用 StartVoiceChat
接口,实现房间内智能体与真人用户互动。
你可按照以下步骤实现使用子账号在客户端调用接口。
在主账号配置VoiceChatRoleForRTC
角色。
你需要在主账号配置 VoiceChatRoleForRTC
角色,以便 RTC 能够调用 ASR 、TTS 和 LLM 服务来实现与智能体实时对话,实现房间内智能体与真人用户互动。
配置成功后你可以在角色管理中找到该角色,该角色拥有SAFullAccess
、 MaaSExperienceAccess
和 RTCFullAccess
权限。
为子账号赋予获取临时密钥权限。
子账号获取临时密钥权限后,即可在密钥有效期内调用实时对话式 AI 接口。
VoiceChatRoleForRTC
。将信任关系中的代码修改为如下代码,以便子账号拥有使用VoiceChatRoleForRTC
角色的权限。
{ "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "rtc" ], "IAM": [ "trn:iam::2100********:user/cody" //格式为:trn:iam::${主账号AccountId}:user/${子账号UserName} ] } } ] }
STSAssumeRoleAccess
权限。调用接口
使用子账号调用 AssumeRole OpenAPI 接口获取临时 AK、SK 及 Token。获取成功后,即可在密钥有效期内通过临时 AK、SK 及 Token 调用 StartVoiceChat
接口实现房间内智能体与真人用户互动。
调用AssumeRole
接口时 RoleSessionName
和 RoleTrn
为必填项。RoleSessionName
可自定义,用来标志此次AssumeRole
请求。RoleTrn
填写规则为 trn:iam::${AccountId}:role/${RoleName}
,例如trn:iam::2100****3232:user/cody
。