一、需求背景
在apollo上,当需要新增一个配置时,只需要输入一个key、一个value,提交就可以了。提交的配置是否合理、是否有隐患,是需要用户自己去判断的。
在现实中,我遇到过一些情况,开发人员加的配置,有些值是不合理的;还有些配置在测试环境用没问题,但是在生产环境用是不应该的;还有些因配置不当引发了生产故障,开发人员其实并不是故意为之,没人愿意出现故障,他可能是不知道会出现这样的问题,如果有人提前告诉他了,肯定就不会这样了,这里就缺少一个角色。
而大模型具有强大的分析能力和海量的知识储备,非常适合充当导师和审查员的角色。那么我就在想是否可以接入大模型呢,利用大模型强大的能力给用户做指导和提出优化建议,提前发现潜在的危险,避免一些不必要的故障。想到这里,我尝试着做了以下修改。
二、方案设计
1、在添加配置项页面,增加一个按钮:智能检测
2、输入key、value后,点击智能检测按钮,开始做智能分析,因为大模型思考是需要一点时间的,不会像其他接口那样毫秒级输出结果。如果后端等结果完全好了,再返回给前端渲染,用户等待时间长,体验比较差,所以这里用了流式响应,数据是一点点打出来的。(这里踩了不少坑,花了不少精力调效果,不过好在最终结果是好的,达到了预期效果)
3、检测完成后的效果如下:
4、如果觉得页面比较小,还可以点击右上角的放大按钮,效果如下:
5、可以在application.yml配置文件中,设置是否开启智能检测功能(如果是false,则前端不会展示智能检测按钮),切换不同大模型
方案已提交apollo开源社区,并得到官方认可。