基于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 支持一下~
有任何疑问也欢迎私信我,知无不答。
如果各位大佬发现项目中有可改进之处,也请不吝指教,感激不尽!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值