如何在手机本地不依靠网络-
实现真正的端到端语音交互的智能AI应答
--本地AI电话机器 人
-
上一篇:SenseVoice-small模型在Android手机做离线ASR识别的效果
-
一、 背 言
最近一直在思考关于AI电话应答的一个问题:手机拦截电话通话声音后,是否一定要传到云服务器去做AI识别和应答?
这其实涉及到一个电话领域很核心的"端到端"的概念:目标手机接听来电后,它说一句话,到底需要多久,才会有对应的语音内容从手机的喇叭播放出来?
我们简单剖析一下【手机电话语音在云服务器做AI应答】这个场景,会经过哪几个阶段的语音延迟:


这样,也就意味着云端AI在带来高识别精度的同时,引入了三大不可控因素:①上行和下行RTP网络带宽依赖 ②大模型推理(LLM)时间不可控 ③TTS语音合成消耗时间(可选)。而且这几个都是时延环节上消耗时间比较多的环节。
- 二、端到端优化思路
这种情况下,就又回到我们最初的方向上:我们到底有没有可能,不把语音数据传输到云服务器去做AI运算呢?就让"端到端"的响应,围在【目标手机】<-->【外呼手机】这两个设备之间,不引入外部的网络因素和云服务器。
这样的话,就可以快速且可控的实现我们的语音快速响应,就跟真人拿着手机直接跟对方说话一样,响应速度和体验效果应该能够获得极大的提升。
但是这样也就意味着方案要把原本部署于云服务器、甚至可能要依赖GPU加速的整个【AI大模型+ASR识别模型+TTS生成模型】都塞进手上一个小小的手机里面。手机扛得住吗?
为了实现这个目的,我们需要从场景最终体验的效果上,具体剖析:假如删减前述流程图中【T2、T3、T4、T5、T6】这几个环节后,原先的AI电话应答到底需要的是什么样的功能?
- 三、AI电话应答需要的具体效果
常见的AI电话应答,通常需要如下图这样的判断效果:

电话打通之后,按预设规则播放一段开场白语音,然后根据对方说话的内容,按预设的话术脚本来调用预先录制的真人录音或TTS语音进行实时响应。
电话拨打完毕后,会对这次通话进行【客户意向等级】做出评价,并对通话内容进行录音。通话结束后将这些内容存档或移到客户中心(CRM)。
- 四、AI机器人常见话术的配置
现在市面上常见的基于电话的AI机器人,话术配置通常为如下图所示的【判断型的AI外呼机器人】。

话术配置中,通常不包括"开放性对话"等开放性话题,仅根据对方的回答,判断是【拒绝、否定、肯定、未识别、转人工】等等,然后跳转到对应的话术真人录音,或者转人工,或者告知对方"稍后会有专门的业务经理跟你详细介绍"后挂断。
- 五、优化方向探讨
这样的话,也就意味着我们原先规划当中的【大模型推理(LLM)】和【TTS语音合成】这两个阶段,可能是不必要的。假如只是判断对方说话内容中判断【拒绝、否定、肯定、未识别、转人工】这样的意图,要什么"大模型推理(LLM)"呢?
我们仅仅只需要ASR模型实现"语音转文字",然后用简单的归类方法,去检测出对方的应答到底属于【拒绝、否定、肯定、未识别、转人工】哪一种意图,然后跳转到预先录制的对应真人语音片段去播放即可。
我们在前文《SenseVoice-small模型在Android手机做离线ASR识别的效果》中,将本地ASR模型应用到了通话的"实时语音质检"上。它的识别效果大致如下:

这样,在理想情况下,我们完全可以在本地手机,通过加载ASR模型和话术脚本,以及预先录制的真人录音。在电话外呼拨打和接通后,不用将声音数据通过网络上传到AI服务器,即可在手机本地,离线的实现AI电话的自动应答功能。
这样的通话实时性和整体方案架构,要比动不动就消耗Token的云AI的方式,在电话通话领域,要灵活和易用很多。在成本上也仅需一部普通手机,不再依赖高昂的服务器配置和网络带宽。对AI电话应用的推广具有积极的促进意义。