AI智能测评应用平台项目分享

news2024/9/24 13:18:43

    大家好,我是程序媛雪儿,今天咱们聊个我新学的项目,AI智能评测应用平台系统。

    咱们先了解一下这个系统是干嘛的。

一、业务分析

      大致业务流程是应用制作者在创建应用页面填写应用信息,依次添加题目和评分规则生成测评应用,系统管理员可以在应用管理页面审核应用,通过审核的应用会显示在主页,其他用户可以检索应用,并在线答题,查看自己的答题结果,分享应用等(每个用户都可以答题人,也可以发布自己的测评)

     我认为这个项目有以下几个业务逻辑是可以考虑复用的

1、审核功能。一般类似知乎、csdn、b站这类用户可以上传自己作品的平台,大多有审核功能,大体上都是用户发表后,有审核员审核,通过后才会给客户推送,就可以复用这块功能,根据具体的业务稍作修改

2、分享功能。为了推广方便,一般项目都是有分享给他人的功能的,点击分享后,手机微信扫二维码,分享给其他人生成小卡片,其他项目也可能用得到

3、AI生成题目,AI生成测评结果。如果我们做的不是测评系统,也是可以用这块的,因为AI生成题目和测评结果,本质是设计prompt提示词,让AI能稳定的生成我们想要的Json串,我觉得这个能力可以给很多项目赋予AI的能力,使得结果更丰富,功能更丰富。

二、技术分析

后端

1、使用策略模式实现测评模块,策略模式一般使用在有多个算法,不同情况下使用各自对应的算法这种情况下。我们的系统是会根据用户选择应用类型是打分、测评以及评分结果是手动还是AI评分来选择对应的测评算法,因此选用策略模式

2、AI模块调用选用的是智谱AI,调用他人的接口,可以先写demo测试,然后根据我们的业务需求封装请求,简化请求(详情看笔记封装AI模块),实现模块解耦,也更方便我们调用接口

3、编写prompt,确保每次输出的json稳定

4、AI流式调用少不了响应式编程,Rxjava+sse可以实现AI生成一道题目,前端就展示一道题目的功能

5、缓存击穿问题的优化和实现。我们的项目可以访问题目生成接口,每次都会调用AI大模型,但是调用大模型是要token计费的,如果攻击者短时间内一直调用AI生成题目接口,很可能造成计费,甚至被大模型方认为我们的系统是攻击者,直接禁号了,可以使用caffeine+redis分布式锁解决这个问题。

6、某个表因为用户激增导致上百万的数据,调用缓慢,可以采用分库分表的方式解决,这个项目具体是使用的sharding-JDBC实现的。

7、系统幂等性设计方案,利用数据库索引唯一特性,使用乐观锁,分布式锁等等

8、线程是很宝贵的系统资源,如果想实现vip生成题目很快,普通用户限速生成题目这类功能,可以使用线程池隔离技术,让vip用户能使用所有进程,普通用户只能使用某几个进程

9、对用户行为进行统计分析,比如哪些App答题量最多,可以在首页优先显示(这块已实现)根据用户答的测评(MBTI性格测试)推送用户可能喜欢的文章等等(这块没实现)

前端

1、echarts+vue-echarts实现统计图表

2、pina状态管理

3、arco design组件库

4、qrcode二维码生成

5、使用umijs的openapi自动生成请求代码

三、页面展示

其他页面可查看笔记:

http://www.snowyee.cn/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/AI%E7%AD%94%E9%A2%98%E5%BA%94%E7%94%A8%E5%B9%B3%E5%8F%B0%E7%AC%94%E8%AE%B0.html#%E9%A1%B5%E9%9D%A2%E6%95%88%E6%9E%9C

四、仓库地址

前端地址:https://gitee.com/gu-feiyin/aidada-frontend

后端地址:https://gitee.com/gu-feiyin/yudada-backend

mbti测试小程序地址:https://gitee.com/gu-feiyin/mbti-test-mini

项目完整版笔记:

http://www.snowyee.cn/%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/AI%E7%AD%94%E9%A2%98%E5%BA%94%E7%94%A8%E5%B9%B3%E5%8F%B0%E7%AC%94%E8%AE%B0.html

项目体验地址:我就不公开了哈,因为大模型token要计费,个人项目有点烧不起,还望谅解

随便聊聊:

     其实我觉得,弄清楚业务逻辑和实现方法后写代码是最简单的事情了,花不了多少时间。但是搞清楚业务逻辑,自己能举出多种解决方案,并且能根据仅有的资源选出最优解解决问题还是比较难的,所以,宝子们,学项目,写项目,多问问为什么,为什么库表的字段是这样设计?有没有更好的办法?这几种方案各自的优缺点是什么?适合什么样的场景?如果是我做,我打算用什么样的方法?原因是什么?等等,知其然,知其所以然,我们才能做的更好,走得更长远,加油~

    对了,声明一下项目的原创是程序员鱼皮,还是蛮多原创项目的,如果感兴趣想进他的星球看他自己录得视频和笔记可以加雪雪我,我拉你进他的星球,我反你30元,其他看源代码就能会的宝宝也可以拉我的代码看我的笔记,你们视情况而定~

       欢迎大家关注我的微信公众号,程序媛雪儿,雪儿会在上面发布编程的知识碎片,也有雪儿博客地址,上面有详细系统的笔记,雪儿是全栈,但是公众号目前主要还是发后端的技术,以后可能也会涉及到一些前端的知识,我们下期见,拜拜~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1981805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

信息学奥赛初赛天天练-56-CSP-J2019完善程序2-双关键字排序、计数排序、前缀和、前缀自增、后缀自增、数组下标自增

PDF文档公众号回复关键字:20240805 1 完善程序 (单选题 ,每小题3分,共30分) 计数排序 计数排序是一个广泛使用的排序方法。下面的程序使用双关键字计数排序,将 n 对 10000以内的整数,从小到大排序。 例如有三对整数 (3,4)、(2,…

标准IO及相关练习

标准IO 能够将指定的数据写入指定的文件中的操作(通过文件指针去访问指定的文件:FILE*),标注IO只提供写入或者读取操作,不提供删除文件中的内容,想要删除文件,则需要自己写逻辑来实现。 文件指…

【LeetCode Cookbook(C++ 描述)】一刷哈希表(Hash Table)(下)

目录 LeetCode #349:Intersection of Two Arrays 两个数组的交集LeetCode #383:Ransom Note 赎金信LeetCode #454:4Sum II - 四数相加 II 本系列文章仅是 GitHub 大神 halfrost 的刷题笔记 《LeetCode Cookbook》的提纲以及示例、题集的 C转化…

办公楼子母钟系统,不止显示时间,还可以做临时告示牌

在现代办公环境中,时间管理对于提高工作效率至关重要。传统的时钟往往只能提供最基本的时间显示功能,而在快节奏的办公楼里,一个既能准确显示时间又能发布紧急通知的系统显得尤为必要。本文将介绍办公楼子母钟系统的独特优势及其在不同场景中…

TOOL使用

一、代码生成器 1.页面代码生成(前端) 生成后会在前端(pc)代码中看得到代码,可在此做二次开发: 代码生成器中新建不同模块,对应着modules文件夹下文件夹—>生成代码时,选择对应…

50etf期权怎么可以买跌做空吗?

50ETF期权可以做买方也可以做卖方,并且50ETF期权还能够买涨买跌双向交易,50ETF期权可以看涨期权和看跌期权,所以50ETF期权是可以买跌做空的,并且50ETF期权是很适合进行做空操作的,下文为大家介绍50etf期权怎么可以买跌…

如何将.bin文件,hex方式查看里面数据。以自己需要的任何长度来分割

liunux环境编译命令&#xff1a; gcc test.cpp -o testtest.cpp 文件&#xff1a; instring 为需要被分割的文件&#xff1a; outstring 为分割后的文件&#xff1a; #include <stdio.h> #include <unistd.h> #include <string.h> #include <sys/types.…

NSF共享目录未授权访问

NSF共享目录未授权访问 Network File System(NFS)&#xff0c;是由SUN公司研制的UNIX表示层协议(pressentation layer protocol)&#xff0c;能使使用者访问网络上别处的文件就像在使用自己的计算机一样。服务器在启用nfs服务以后&#xff0c;由于fs服务未限制对外访问&#x…

同步时钟系统,防水效果出色,无惧户外雨天环境

在我们的日常生活和工作中&#xff0c;时钟是不可或缺的存在。然而&#xff0c;传统时钟在使用过程中逐渐暴露出一些问题。 传统时钟通常依靠机械结构或简单的电子元件来保持时间的准确性&#xff0c;这使得它们容易受到外界因素的干扰。例如&#xff0c;温度的变化可能导致机芯…

NAS性能巅峰的第二选择 | 极空间Z423标准版开箱体验,强大的不仅仅只是配置

NAS性能巅峰的第二选择 | 极空间Z423标准版开箱体验&#xff0c;强大的不仅仅只是配置 哈喽小伙伴们好&#xff0c;我是Stark-C~ 在去年10月份新品发布会的时候&#xff0c;极空间推出了堪称私有云性能巅峰的『极空间Z423』。作为当前民用级NAS配置的天花板&#xff0c;极空间…

安防视频监控EasyCVR视频汇聚平台设备发送了GPS位置,但是订阅轨迹为空是什么原因?

安防视频监控EasyCVR视频汇聚平台兼容性强、支持灵活拓展&#xff0c;平台可提供视频远程监控、录像、存储与回放、视频转码、视频快照、告警、云台控制、语音对讲、GIS地图、轨迹跟踪、平台级联等视频能力。 用户描述&#xff0c;设备在电子地图中可以查看到定位信息&#xff…

简单操作,轻松创作专业级电子书

在当今数字化时代&#xff0c;电子书的崛起为创作者们带来了前所未有的便利和创作自由。相较于传统印刷书籍&#xff0c;现代电子书的制作过程不再是一项复杂而耗时的任务&#xff0c;而是通过简单操作就能轻松实现的专业级创作。 但是你知道该如何创作专业级的电子书吗&#x…

STM32的FATFS文件系统移植

准备工作 本移植基于STM32HAL库&#xff0c;在开始移植之前准备好一个Cubemx、一个待移植的FATFS源码和一张文件格式为FAT32且大小小于等于32G的SD卡。本项目用的是正点原子的F103开发板。 源码下载&#xff1a;FatFs - Generic FAT Filesystem Module 移植开始 cubemx代码 此…

图片无损压缩工具都有哪些?试试这3款巨好用的压缩软件!支持在线使用

3个图片无损压缩工具推荐&#xff0c;在线免费使用 请你一定要收藏好&#xff01; 1、转转大师 推荐指数&#xff1a;⭐⭐⭐⭐⭐ 直达链接>>pdftoword.55.la 转转大师是一个专业文档转换工具&#xff0c;支持在线编辑&#xff0c;也是微软office官方中国合作伙伴&…

07.FreeRTOS列表与列表项

文章目录 07. FreeRTOS列表与列表项1. 列表和列表项的简介2. 列表相关API函数3. 代码验证 07. FreeRTOS列表与列表项 1. 列表和列表项的简介 列表的定义&#xff1a; typedef struct xLIST {listFIRST_LIST_INTEGRITY_CHECK_VALUE /* 校验值 */volatile UBaseType_t uxN…

吴恩达机器学习-可选的实验室-正则化成本和梯度

目标 在本实验中&#xff0c;你将: 用正则化项扩展前面的线性和逻辑代价函数。重新运行前面添加正则化项的过拟合示例。 import numpy as np %matplotlib widget import matplotlib.pyplot as plt from plt_overfit import overfit_example, output from lab_utils_common i…

关于vs2022项目占用空间太大的问题

之前在分享vs2022项目&#xff08;估计其它vs版本也差不多&#xff09;的时候发现项目占用空间比较大&#xff0c;即使压缩也不利于上传网盘&#xff0c;于是看了一下目录&#xff0c;发现有个隐藏的.vs目录&#xff0c;里面有个和项目同名的文件夹&#xff0c;占用着很大的空间…

⌈ 传知代码 ⌋ MSA+抑郁症模型总结(三)

&#x1f49b;前情提要&#x1f49b; 本文是传知代码平台中的相关前沿知识与技术的分享~ 接下来我们即将进入一个全新的空间&#xff0c;对技术有一个全新的视角~ 本文所涉及所有资源均在传知代码平台可获取 以下的内容一定会让你对AI 赋能时代有一个颠覆性的认识哦&#x…

NLP——Transfromer 详解

Transformer总体架构图 输入部分&#xff1a;源文本嵌入层及其位置编码器、目标文本嵌入层及其位置编码器 编码器部分 由N个编码器层堆叠而成 每个编码器层由两个子层连接结构组成 第一个子层连接结构包括一个多头自注意力子层和规范化层以及一个残差连接 第二个子层连接结构包…

Liunx---批量安装服务器

目录 一、环境准备 一、环境准备 1.准备一台rhel7的主机并且打开主机图形。 2.配置好可用ip 3.做kickstart自动安装脚本后面需要用到DHCP&#xff0c;关闭VMware DHCP功能 二、安装图形化kickstart自动安装脚本的工具 yum install system-config-kickstart ----安装图形化生…