1、需求
最近给银行客服部门做了一个“实时辅助系统”,具体需求就是,当有客户拨打客服电话的来咨询一些问题的时候,我们将用户和客服聊天的内容 实时显示到系统上,并且根据聊天内容,给客服展示出提示话术。
2、需求分析
首先我们看一下右下角聊天内容这一部分,这部分的要求时,在拨打电话的过程中实时的将聊天语音转换文字并且实时展示,所以我们需要采用websocket接口,FS将语音流通WS接口发给我后端,后端通过WS接口调动ASR识别引擎。
3、架构
4、流程
1、客服登录辅助系统,登录成功以后,前端和tomcat建立一个ws通道,并且客服状态为空闲。
2、用户拨打客服电话,FS接收到拨打请求后,调用tomcat初始化接口,同时返回一个空闲状态的客服01信息。
3、FS将拨打请求转接到客服01的电话,同时和tomcat建立两个通道,一个用户通道,一个客服通道。同时,tomcat和ASR
识别引擎建立两个WS通道。
4、电话接通,FS开始收集语音流并且每320字节向对应的WS通道发送一次。
5、tomcat接收到音频流以后,同步向ASR发送,同时,将识别的结果发送到页面。
6、同时,将识别结果调用NLU,将NLU返回的提示话术,通过WS发送到页面。
5、小结
这个项目多处用到了WS,之前ws用的不是很多,通过这个项目,对WS有了更深的认识,其中,最重要的就是我们要维护好每个通道的标识,不要将通道的中的数据发混淆。
接下来我们将分享,对接阿里、腾讯的ASR识别引擎。