Lazy loaded image
😍个性化智能学习项目
Words 2534Read Time 7 min
2024-11-2
2025-7-10
status
type
date
slug
summary
tags
category
icon
password
😀
前言: 这是一个练习案例,到这我学习Java已经一个月了,也算是入门了SpringBoot,在学习Linux前的一个练习项目

功能前瞻

  • 自助调用API,并提供针对于提高大学生效率的智能体
  • 根据平时学习相关提问,记录在数据库进行保存成专属知识库,便于复习
  • 综合分析学习倾向,提供学习方向以及查漏补缺
  • 依靠私有知识库进行问答,也就是让大模型来抽查我们的记忆情况

AI工具:

通义千问,ChatGPT,Claude,deepseek,bolt.new

个人感受

Claude>ChatGPT>通义>deepseek,有条件无脑选Claude,逻辑和知识面都远远优秀于其他大模型,如果说怕麻烦首选通义千问,能解决百分之六十的问题,较有技术含量的问题就问Cluade,目前来说通义不能解决的deepseek也不太行

📝 正式开发

前情提要
  • 目前项目数据库部署于云服务器,带宽有限,我已经在保证较为美观的同时极简每个界面来提高流畅度,高并发访问网站时可能会出现数据传输较慢,如出现问题我会及时升级配置,如果存储空间不够我后续会移至我的个人服务器
day01:初步构思
本项目主要以知识库生成为主要功能,我计划为每个人创建独立的数据库,至少包含三张表结构以实现更清晰的层级,后续我会优化算法和筛选条件去强化功能实现,下面是我的初步设计图
上面是输入问题AI进行的分类,中间是表结构,下面是思维导图展示,后续将以md格式文档输出
notion image
notion image
day02:后端搭建
由于我对前端了解甚少,而且美感相当欠缺,我会先完善后台功能再去利用bolt.new去完善前端界面,这里我选择springboot作为开发基础(其实我对spring项目会更了解一点,用这个更多是为了了解更简便的新技术),这个技术省去了极多配置类相关代码
notion image
这是我第一天完成的代码部分,遇到一个困扰我时间很长的问题:
springboot对jsp的支持性很差,但是我之前都是通过jsp去接取cookie或者设置session,而现在我在login.html提交的表单为post请求,但是在controller里面和其他需要的形参cookie,response一起作为参数似乎不能正确接受到并初始化,问题出现在函数看到有需要实例化的属性,连着我的reponse接口一起实例化进行报错,我最后的解决方案是通过下面代码指定要求Session,定向获取需要的sesion
目前代码偏简单,但是springboot的网页资源放置着实困扰了我蛮久,后面通过yml配置修改默认存储位置来简化路径选择,这里不详细展开说了
day03:前端搭建
技术有限,但是实在太想优化用户体验,流式传输是第一步,相信没有多少人能接受等大模型全部回答完再展示出来,我还是查阅csdn在通义千问的帮助下完成了实时显示回答的效果,响应速度还是很可以的,目前开发效果如下
目前可以看出由于流式传输,换行符被丢失了,而且也不支持md格式文字的渲染,也没有实现对数据库的插入,这些后续都会被完善
day04:后端优化
现在这个项目已经可以正常注册登录,支持md文字渲染,并且后台可以成功获取登录信息并插入数据库,而且我向Claude和ChatGPT多次交流不断优化提示词以获得更好的分表插入效果,目完成了用户自定义选择大模型和智能体选项
由于还需完善和进一步提高大模型提示词的能力,我没有做出前台生成知识库的界面,剩下两个要完成的功能:知识库生成,个人知识库问答,将会作为一个独立的界面,在这里我也将提供用户自己上传文件或文字,由模型来进行提问,梳理
 

暂停开发

To Do List
  1. 为了提高代码可维护性,我将把AI工作流部分移至Dify进行API调用,也方便他人二次调用我的API,目前已经在云服务器上第一次测试成功,后续绑定域名也将开放API获取
  1. 我将开放更多对于网站的编辑权限,即将新增一个页面用于生成知识库及问答,以vue作为主要技术完成代码的实现
  1. 标准化返回代码的格式,并且优化html代码,由于chat界面vue失效,我现在只能通过session保存对于半个小时内有过登录或者有过请求的登录界面,后续我将对已经登录的用户删除登录按钮并且增加名字显示
  1. 目前网站普通用户支持每分钟1000次请求,我后续在优化提示词后将换成参数更大的大模型并进一步提升请求速度和次数,目前用的大多是90亿参数或者70亿参数的大模型,后续我会提升为700亿或者720亿参数大模型来进一步优化回答质量
  1. 由于为了更短的响应时间,我没有开放上下文能力,后续我也会开放这个选项
  1. 我会通过通义千问,KIMI,豆包等其他的api来完善网站的图片和文档阅读能力
  1. 预计我将会通过redis计数接入OpenAI GPT4,GPT4o-mini,GPTo1-mini,GPTo1-preview等顶级模型限量免费开放,目前已经成功接入API,每天次数自动刷新,初级模型每天至少700次,中级模型200次,o1每日30次
notion image

目前进度(11.11)

目前成功接入了官方通义千问,ChatGPT,智谱AI,GROK,Gemini以及一众开源大模型,目前已经上传11个API-KEY,我会针对各个领域的问题综合响应速度推出自动选择大模型,后续我还会通过部署国外服务接入hugging face连接更多功能大模型辅助学习
notion image

11.12开发进度

目前在重构提示词,优化生成知识库效果,目前网站已经成型,预计我还会重构API调用系统,用一下Spring-AI技术,由于知识库文字量巨大,为了兼顾体验我还是接入流式传输,目前第一版jar包已经打包成功,在安卓平板模拟Linux也运行成功,成功接入以下AI,部分AI的初始响应速度可能会比较慢,但吐字速度都是很快的,连接OpenAI的大模型会进行身份认证,如果需要可以联系我给个权限防止滥用
notion image

11.13 开发进度

网站基础功能除知识库问答外已经搭建起来了,由于知识库问答我还是选择嵌入式大模型而非对话大模型,可能我会要去学习一下嵌入式大模型的使用细节,预计将同时接入识图,绘图,嵌入大模型,目前正在重构GET请求为Post请求,尝试发送图片数据,这里涉及到了js大量重构,将会拖延一定时间进度

进入第二阶段

从这里我将重写原有的大量代码,并且因为重构为POST请求,似乎流式传输出现了一定的问题,需要被解决,第二版本将加入更多针对于学习的代码,预测以费曼学习法为主体,加强思维导图和对话属性,并且允许长文本对话,接入联网功能

第一阶段总结

实现功能介绍
  • 自由选择来自国内外的大模型进行对话
  • 对话支持流式传输,实时显示
  • 登录后享受独立知识库,每一次有关学习的问答将由ai存入独有知识库
  • 支持导出知识库,支持在线预览,支持下载
  • 支持智能体

🤗 后话

我会不断优化算法并且去提高响应速度,如果还有使用的人我就会继续维护,敬请期待
请大家爱护这个网站
  1. 这个项目是我部署在购买的云服务器存储空间有限,版本更替(提示词优化后),测试版本会清空数据库重新插入,删除前会留存文件存档,望见谅
  1. 由于本人并不熟悉针对于知识库的向量查询,对话创建知识库的消耗tokens数是巨大的,而高级大模型tokens都是需要元子的,希望大家爱惜,我也提供申请免费或付费API渠道(其他官方),可自助填入该网站提高回答速度
 
💡
有任何相关建议请联系我~
上一篇
大学生优惠&&软件链接
下一篇
C++贪吃蛇寻路算法

Comments
Loading...