企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
由于语音转写是异步方案,在实际应用场景中会产生不少问题,关于获取转写结果的方式和时机都是性能优化的重点,是定期循环获取还是业务触发获取?创建转写任务多久后请求结果命中率最大? # **定期循环获取转写结果**,是指服务器在创建转写任务后,每隔一段时间调用获取转写结果接口。这个时间可以是固定的,比如每30秒调用一次;也可以是不固定的,比如音频长度为120秒,那么每次调用的时间间隔可以设定为60秒、30秒、15秒、10秒、10秒、10秒......,这种方式开发成本高些,但更为科学。定期循环方式更适用于对转写结果重度处理的应用系统,需要有一个稳定的定时任务系统模块支持。 # **业务触发获取转写结果**,是指服务器在创建转写任务后,只保存taskId,并不获得转写结果,直到用户在应用系统需要查看结果时,服务器再根据taskId去获取转写结果展现给用户。业务触发方式更适用于对转写结果轻量处理的应用系统,简化开发且提高服务稳定性。 我们有几点建议可以在性能上更优化: 1. 如果音频长度为120秒,那么创建音频转写任务后的60秒内(即音频长度的50%)不必获取转写结果,直接返回状态处理中。 2. 对于同一个音频,确保一段时间(比如3秒)以内服务器只去访问一次转写结果,规避多人同时访问造成不必要的服务器资源浪费。 # #