大家好,今天给大家介绍使用RTC pilot实现基于WebRTC的voice agent。
RTC pilot是基于c++17开发的,跨平台,支持服务集群的WebRTC服务。
上一期,把VoiceAgent功能集成到RTC Pilot SFU中。

Voice Agent主要功能,Voice Agent其实就等于 语音智能体,主要功能和特点是:能听,能想,能说,能实时、全双工、可打断地跟人聊天。也就是在它的回答过程中,你可以打断它的回答,提出新的问题。
VoiceAgent集成到SFU,也就是把ASR,TTS,转码等CPU密集型代码合入到SFU中。小白部署比较方便。
但把SFU从网络密集型变成CPU密集型。这种模式其实不方便做广泛的生产部署。
本期我们介绍独立的VoiceAgent服务。
talk is easy, show me the code.
RTCPilot SFU服务端地址:https://github.com/runner365/RTCPilot
VoiceAgent地址:https://github.com/runner365/VoiceAgent
RTCPilot客户端地址:https://github.com/runner365/webrtc_js_client
这里是SFU开源地址,Voice Agent开源地址,和客户端开源地址。
VoiceAgent单独成为一个服务。
VoiceAgent项目是基于RTCPilot(WebRTC SFU)实现的实时语音对话 AI 智能体。
服务端主要有两个部分:

一,RTCPilot SFU:接入WebRTC服务
二,VoiceAgent:提供VAD,ASR,TTS等服务
下面我演示一下如何部署,和运行效果。见视频号内容后面部分(05:10分后):
RTC实现VoiceAgent(二)
当前VoiceAgent服务提供的VAD,ASR,TTS都是可以本地部署,不依赖外部云厂商。

- VAD采用ten VAD
- ASR采用Fun ASR
- TTS采用sherpa-onnx,可以本地运行的c/c++开源。这个TTS开源模型比较小,可以不需要GPU,负载相对比较小。
上面的开源可以采用仅仅CPU就可以,服务可以运行在无GPU的服务器上。
后面也会增加新的ASR和TTS类型,也可以接入云厂商的ASR和TTS服务。