前言
RustPBX 是一个高性能的媒体处理引擎,为构建语音智能体而设计。
语音智能体架构
一般 Agent 直接以文本和大模型交互,而语音智能体输入输出都是语音。主要有两种做法:
- 端到端架构:直接以语音作为输入输出。延迟低,且具备多模态理解能力。
- 链式架构:将语音转换为文本,交给大模型处理,再将文本转换为语音播放。
其中端到端大模型价格昂贵(文本模型的至少 10 倍以上),且工具调用复杂。
链式架构由于是纯文本交互,输出更加可控,可以灵活选择音色,工具调用更为简单。
如何使用 SDK
客户端使用 WebSocket 连接到服务端,使用 命令/事件 模式交互:
通话控制
客户端发送 命令 到 RustPBX,控制通话行为。例如:
- 通过
Invite命令发起呼叫 - 通过
Hangup命令挂断呼叫 - 通过
TTS命令播放文字
事件通知
RustPBX 通过 WebSocket 连接发送 事件 到客户端,通知通话状态变化和请求处理结果。例如:
- 通过
AsrFinal事件通知语音识别结果 - 通过
Speaking事件通知是否在说话 - 通过
Hangup事件通知对方挂断
更多内容
📄️ RustPBX Go SDK
RustPBX Go SDK 规范