点击空白处退出提示
作品详情
1.(业务流程: )后端自定义 Prompt 预设模板并封装用户输入的数据和分析诉求,通过对接 AIGC 接口生成可视化图表json 配置和分析结论,返回给前端渲染。
2.由于 AIGC 的输入 Token 限制,使用 Easy Excel 解析用户上传的 XLSX 表格数据文件并压缩为 CSV,实测提高了 20% 的单次输入数据量、并节约了成本。
3.为保证系统的安全性,对用户上传的原始数据文件进行了后缀名、大小、内容等多重校验(其实能被 Easy3Excel 解析成功,内容基本是没问题的)
为防止某用户恶意占用系统资源,基于 Redisson 的 RateLimiter 实现分布式限流,控制单用户访问的频率5考虑到单个图表的原始数据量较大,基于 MyBatis + 业务层构建自定义 SQL 实现了对每份原始数据的分表存诸,提高查询性能 XX%(可以实测一下把所有图表的大量数据一起 select by ld,和直接 select from 单张数据表)和系统的可扩展性。
4.由于 AIGC 的响应时间较长,基于自定义 10 集型线程池(要能讲清楚为什么是 0 密型线程池)+ 任务6队列实现了 AIGC 的并发执行和异步化,提交任务后即可响应前端,提高用户体验。(或者说:支持更多用户排队而不是无限给系统压力导致提交失败)
5.由于本地任务队列重启丢失数据,使用 RabbitMQ (分布式消息队列)来接受并持久化任务消息,通过Direct 交换机转发给解耦的 AI 生成模块消费并处理任务,提高了系统的可靠性。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态
评论