基于SpringAI实现专家系统
文章目录
- 基于SpringAI实现专家系统
- 项目架构
- 技术亮点
- 功能详情
- 功能一:学号/姓名查询学生信息
- 功能二:查询学生成绩并弹窗展示
- 功能三:班级成绩分析图
- 使用方式
- 后记
基于SpringAI实现专家系统
上个月 Spring AI 正式版发布,博主第一时间上手,开发了一个小专家系统Demo——“辅导员助手”。它利用 Spring AI 的 Function Calling 功能调用预设方法,实现了一键查询学生信息、成绩数据,并结合 Vaadin 弹出窗口展示、进行数据分析、页面跳转等功能。同时,Demo 将 RAG 文件写入向量数据库,方便大模型调用查询。欢迎给项目点个 ⭐,感谢支持!👉 项目地址
项目架构
技术亮点
Spring AI + Vector Store + RAG
:使用 ETL → 嵌入 → 存储 → 检索 → 生成,确保模型能处理本地结构化数据。Tool Calling
:自定义函数方法可被大模型自动识别调用,实现查询与展示分离。Vaadin UI
:大模型可以调用vaadin
的方法,实现操作前端页面。
功能详情
功能一:学号/姓名查询学生信息
- 用户输入“查一下学号 20231234,姓名 张三 的信息”
- 聊天模型匹配 getStudentInfo 工具
- 后端函数调用数据库,返回包括姓名、专业、联系方式等基础信息
- 模型整合结果并输出
功能二:查询学生成绩并弹窗展示
- 用户请求“查一下 20231234 的成绩”
- 模型识别调用 getStudentGrades
- 服务读取成绩表数据,返回结构化结果
- 系统通过弹窗或前端组件直观展示成绩单
功能三:班级成绩分析图
- 用户询问“我想看 2023 级计算机班的成绩分析”
- 模型先检索相关班级成绩文档
- 调用 getClassAnalytics(classId),生成平均分、分布图等数据
- 前端基于结果绘制图表,直观展示班级整体表现
使用方式
- 克隆项目
git clone https://github.com/l4vid4/SpringAiExpertSystem.git
- 配置
docker
,详见github的README
- 配置数据库与API密钥。
- 修改
resources\rag\
下的rag文件。 - 修改CustomerSupportAssistant的Prompt。
- 然后点击运行即可启动前后端。
后记
感谢阅读!如果你觉得这个项目还不错,欢迎点个 Star 支持一下~
有任何疑问也欢迎私信我,知无不答。
如果各位大佬发现项目中有可改进之处,也请不吝指教,感激不尽!