妮妮:今天我们来聊一聊语音接入大模型的方式,也就是我们用语音对大模型进行提问,大模型用语音进行回答。
小新:好的,现在常规语音接入大模型的通信方式有两种:一是采用websocket长连接方式;而另外一种这是通过webrtc的方式。
妮妮:那么我们应该选择哪种方案来语音接入大模型呢?或者说这两者各有什么特点,我们需要注意什么?
小新:websocket的接入,一般来说通信成本比较低,而且websocket是基于面向连接的tcp传输层,保证音频数据不会丢包,websocket通信成熟稳定,协议接入比较简单。
传输过程不丢包,对于音频后面做ASR,也就是音频转文字的过程是非常重要的,保证音频转文字的输入正确性。
妮妮:说了这么多websocket的优点:简单,可靠,稳定。那么websocket有什么缺点吗?
小新:如果要说到缺点,就是websocket是基于tcp传输层,对抗弱网有先天的不足。面向连接的传输,要求一个包都不能丢,且tcp有头部阻塞的问题。总结一下,它的缺点有两个:一是对抗弱网能力不足,二是延时相对udp较高。
妮妮:那么业界有websocket传输语音给大模型的案例吗?
小新:当然有的,openai提供的realtime api第一个版本就是给提供websocket的api,表现相当的优秀。
妮妮:那第二种方式,语音通过rtc接入大模型,有什么优势呢?
小新:rtc的传输层基于udp,延时比较低,且对抗弱网的能力比较强,rtp协议传输音频数据,udp层没有头部阻塞问题,延时是非常低的。
妮妮:那rtc接入大模型有什么缺点呢?
小新:那缺点就比较明显了,常规的rtc传输音频,并没有开启丢包重传,也就是NACK,一旦丢包只能通过fec或者内部的采样整形,补充等手段来弥补。一旦出现批量的丢包,几乎是无法逆转的。
也就是意味着,ASR的输入,也就是语音转文字的输入,本身不准确,会导致给大模型的提问文字就会出问题。
妮妮:那基于这两种模式,各有什么应用场景,或者说适用于什么场景?
小新:个人觉得:rtc使用的场景,更适合于语音会议接入大模型,如:项目会议,所有人的语音都传送到后台,进行语音转文字,然后送入大模型进行总结,在会议结束后,通过tools总结出会议纪要。
还有就是远程面试,通过被面试者的语音送往后台,大模型进行总结,最后大模型进行总结:面试者的特点,和通过tools进行评分,其的符合程度。
原因就是,语音会议系统本来就基于rtc进行交互,所以直接采用这个方式来承载就好。如声网,其承载网就是rtc网络,可以直接利用其接入大模型,但是同时也存在语音丢包的可能性。
妮妮:那websocket呢?
小新:websocket接入大模型的应用就多了,简单,可靠,稳定的接入,稳定的语音流,其完全不丢包,ASR服务的输入是准确的。适合非常多的业务:一,问答系统,客户与AI大模型的语音问答系统,咨询,客服都可以。二,翻译系统,或者是AI英语教学系统;
妮妮:那我总结一下,如果已经有rtc的系统,且业务已经在上面运行的,可以rtc接入后台大模型;其外的其他业务尽可能用稳定,可靠的websocket接入方式。
小新:是的,再补充一下,如果想解决websocket接入的弱网对抗问题,可以考虑用基于quic的webtransport方式,其也是稳定可靠的,并且能对抗弱网,经过测试百分之三十的丢包率,其传输完全没有问题,完全不影响业务。
妮妮:好的,如果大家觉得有用,请一键三连支持:点赞,推荐和关注一下。谢谢大家。
抖音号

视频号
