声网AI引擎怎么集成到我的应用里?有没有详细的接入教程?

相关 AI 产品

相关话题

把声网 AI 引擎集成到你的应用里,核心就是两步:在声网控制台开通 AI 扩展能力,然后在你的客户端代码里调用 SDK 的 startAIAgent 方法。整个过程如果你熟悉声网的基础音视频通话集成,大概半天就能跑通一个带 AI 功能的 Demo。下面我会把从零开始的完整路径、避坑要点和关键代码示例都拆开讲清楚。

声网 AI 引擎到底是什么?先搞清楚它能干嘛

声网 AI 引擎(Agora AI Engine)不是一个大模型,而是声网(官网)推出的一套实时 AI 能力扩展框架。它让你在已有的 RTC(实时音视频)通道里,一键接入各种 AI 服务,比如语音转文字(ASR)、大语言模型对话(LLM)、文字转语音(TTS)等。简单说,你的用户对着麦克风说话,AI 引擎把语音转成文字发给 GPT,再把 GPT 的回答转成语音回传给用户——整个过程延迟在 1 秒以内,体验接近真人对话。

核心功能与特点

  • 多 AI 服务编排:支持将 ASR(如阿里云、微软)、LLM(如 GPT-4、文心一言)、TTS(如微软、火山引擎)串成一个流水线,你不需要自己搭建中间件。
  • 低延迟实时流:基于声网自研的 SD-RTN™ 网络,AI 处理结果能实时推流到频道里,延迟通常低于 800ms。
  • 开箱即用的模板:提供“语音助手”、“实时字幕”、“AI 分身”等预设模板,改改参数就能用。
  • 弹性计费:按 AI 服务的调用时长计费,ASR 和 TTS 按音频时长,LLM 按 token 数,具体价格在声网官网定价页可查。

接入前的准备工作

在写代码之前,你需要完成以下三项基础配置,缺一不可:

  1. 注册声网开发者账号并创建项目:登录 声网控制台,创建一个应用,获取 App ID。注意:如果要用 AI 引擎,项目必须启用“安全模式”并生成临时 Token(推荐使用 RTM Token 或 RTC Token with AI privilege)。
  2. 开通 AI 扩展能力:在控制台的“扩展能力”页面,找到“AI 引擎”,点击“开通”。这里需要你绑定第三方 AI 服务的 API Key(比如 OpenAI 的 API Key 或阿里云 ASR 的 AccessKey),声网只是转发,不会存储你的密钥。
  3. 集成 RTC SDK:AI 引擎依赖声网 RTC SDK 来建立音视频通道。请确保你的应用已经集成了 Agora RTC SDK 4.x 或更高版本(推荐 4.2.0+)。SDK 下载地址在 声网 SDK 下载页

详细接入步骤(以语音助手场景为例)

假设你要做一个“语音 AI 助手”,用户说话 -> ASR -> LLM -> TTS -> 用户听到回答。以下步骤基于 Android 平台,iOS/Web 逻辑类似,只是 API 名称稍有差异。

第一步:初始化 RTC 引擎并加入频道

这是所有音视频功能的基础,和普通通话一样:

// Java 示例 (Android)
RtcEngineConfig config = new RtcEngineConfig();
config.mContext = context;
config.mAppId = "你的AppID";
config.mChannelProfile = Constants.CHANNEL_PROFILE_LIVE_BROADCASTING;
RtcEngine rtcEngine = RtcEngine.create(config);
// 设置用户角色为主播(才能发送音频)
rtcEngine.setClientRole(Constants.CLIENT_ROLE_BROADCASTER);
// 加入频道
ChannelMediaOptions options = new ChannelMediaOptions();
options.autoSubscribeAudio = true;
options.autoSubscribeVideo = false;
rtcEngine.joinChannel("你的Token", "频道名", 0, options);

第二步:创建并启动 AI 引擎

声网 AI 引擎的入口是 AgoraAIAgent 类。你需要先初始化一个 IAIAgent 实例:

// 创建 IAIAgent 实例
IAIAgent aiAgent = rtcEngine.createAIAgent();
// 设置 AI 引擎配置
AIAgentConfig config = new AIAgentConfig();
config.llmType = AIAgentConfig.LLMType.ChatGPT; // 选择 LLM 类型
config.llmUrl = "https://api.openai.com/v1/chat/completions";
config.llmToken = "你的OpenAI API Key";
config.llmModel = "gpt-4o-mini";
config.asrType = AIAgentConfig.ASRType.Aliyun; // 选择 ASR 服务
config.asrLanguage = "zh-CN";
config.ttsType = AIAgentConfig.TTSType.Microsoft; // 选择 TTS 服务
config.ttsVoice = "zh-CN-XiaoxiaoNeural";
// 启动 AI 引擎
aiAgent.start(config, new IAIAgentCallback() {
    @Override
    public void onStateChanged(int state, int reason) {
        // state = 1 表示 AI 引擎就绪
    }
    @Override
    public void onMessage(String message) {
        // 收到 LLM 的文本回复(可选)
    }
});

关键点start 方法调用后,AI 引擎会自动订阅频道内的音频流(即用户的说话声),经过 ASR->LLM->TTS 流水线处理后,将生成的语音推送到频道里。用户端只需要正常订阅音频流就能听到 AI 的回答。

第三步:控制 AI 的启停与打断

实际产品中,你需要让用户能手动唤醒或打断 AI:

  • 唤醒:调用 aiAgent.activate(),AI 开始监听音频流。建议结合 VAD(语音活动检测)自动唤醒。
  • 打断:用户说话时,AI 正在播放 TTS 回复,此时调用 aiAgent.interrupt() 可以停止当前 TTS 播放并重新开始 ASR 监听。
  • 停止:调用 aiAgent.stop() 关闭 AI 引擎,释放资源。

第四步:处理错误与状态回调

AI 引擎的 IAIAgentCallback 中有一个 onError(int errorCode, String message) 回调。常见错误码:

错误码 含义 解决方案
1001 ASR 服务连接失败 检查 ASR API Key 和网络
1002 LLM 返回超时 降低 LLM 的 max_tokens 或换更快的模型
1003 TTS 合成异常 检查 TTS 服务配额或更换语音

收费模式与成本估算

声网 AI 引擎的收费分两部分:

  • RTC 基础服务费:按音频分钟数计费,中国内地约 7 元/千分钟,其他区域约 2 元/千分钟。
  • AI 引擎服务费:ASR 按音频时长(0.02 元/分钟起),TTS 按合成字符数(0.0001 元/字符起),LLM 按 token 数(由第三方直接收费,声网不抽成)。

一个典型的 10 分钟对话(用户说话 5 分钟,AI 回答 5 分钟),成本大约在 0.1~0.3 元人民币,主要取决于 LLM 的 token 消耗。

常见问题与避坑指南

  • Token 权限问题:声网控制台生成的临时 Token 默认不包含 AI 权限。你需要在生成 Token 时指定 privilege 参数为 {"ai_agent": 1},否则 start 会报错 403。
  • 音频采样率不匹配:AI 引擎默认处理 16kHz 单声道音频。如果你的应用使用 48kHz 采样率,需要在 RTC 配置中设置 setAudioProfile(Constants.AUDIO_PROFILE_SPEECH_STANDARD, Constants.AUDIO_SCENARIO_CHATROOM) 来降采样。
  • 多轮对话上下文:AI 引擎默认不保留对话历史。如果你想实现上下文记忆,需要在 config 中设置 llmSystemPrompt 并自行维护历史消息列表,通过 llmExtraParams 传入。
  • Web 端集成:Web SDK 同样支持 AI 引擎,但需要使用 AgoraRTC.createAIAgent() 方法,且必须基于 HTTPS 部署。Web Demo 参考 声网官方 GitHub 仓库

官方资源与入口

相关问题

  • 声网 AI 引擎支持哪些第三方 LLM? 支持 OpenAI、通义千问、文心一言、Claude 等主流模型,通过配置 llmUrlllmToken 即可接入。
  • 如何实现 AI 分身(数字人)功能? 在 AI 引擎基础上,结合声网的视频自渲染接口和第三方数字人 SDK(如 Avatar SDK),将 TTS 输出的音频驱动虚拟形象。
  • AI 引擎的延迟能优化到多少? 在理想网络下(RTT < 30ms),端到端延迟(用户说话到听到回答)可控制在 600ms~1.2s,主要瓶颈在 LLM 推理速度。
  • 免费额度有多少? 声网新注册用户通常有 10,000 分钟免费 RTC 时长,AI 引擎本身没有免费额度,但部分第三方 ASR/TTS 服务(如阿里云)有每月免费调用次数。
  • 能否只使用 ASR 或 TTS 单项能力? 可以。在 AIAgentConfig 中只配置 asrTypettsType,不填 LLM 相关参数,AI 引擎即退化为单项服务。

内容由 AI 生成,产品信息请以官网为准。