模型调用异常问题分析

现象

业务卡件,报错:模型输入项获取发生异常

原因

现在模型接入是支持页面配置的,定时会将数据库的模型参数加载到缓存中,代码运行时模型参数都是直接从缓存中获取的

下午新增模型时,业务人员配错了模型参数

DI->MODEL1,model_key->mdoel1,model_type->130,

此时加载到缓存中,然后业务对该模型进行了修改,改为了

DI->MODEL2,model_key->mdoel1,model_type->130,

这时候由于缓存map是以DI作为主键并且缓存的刷新是直接更新而没有做清空处理

加载模型数据到缓存

这时候缓存再次将这条数据加入内存中,即此时缓存中对应了两个模型,即产生了脏数据

DI->MODEL1,model_key->mdoel1,model_type->130

DI->MODEL2,model_key->mdoel1,model_type->130

然后在模型输入项获取时会将模型model_key和model_type取出组成一个map,mdoel_key作为主键

 

这时候由上面的缓存记录可以看到,有两条模型参数对应同一moedl_key,就抛异常了;

处理办法

重启应用以刷新缓存,清掉脏数据

改进措施

1、业务层面:模型元数据配置按使用场景进行隔离

2、安全层面:模型配置增加审核机制

3、编码层面:加强异常数据场景测试


作者:上好佳28
链接:https://www.jianshu.com/p/27a77075715c
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
posted @   上好佳28  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示