开源一个整合了AIGC大语言模型的SpringBoot智慧医药系统

开源 0

前言

哈喽兄弟们,好久不见哦~

最近整理了一下之前写过的一些小项目/毕业设计。发现还是有很多存货的,虽然这些项目普遍都写的比较简单,但想一想既然放在电脑里面也吃灰,那么还不如开源分享出去,没准还可以帮助到一些小白新手。

本期就在其中选取了一个医疗问诊的项目进行分享。在项目资料中,包括了项目的完整源代码、前端模板项目、文档介绍、数据库结构以及一些其它素材。

项目介绍

智慧医药系统(smart-medicine)是一个基于 SpringBoot 开发的标准 Java Web 项目。整体页面非常的简约大气,整合了目前非常火爆的 AIGC 生成式 AI(选用的阿里的通义千问大语言模型)技术充当智能医生,以此提升系统的 B 格,整体来看是一个偏向百科查询类的系统,功能设计的较为简单,便于初学者理解和学习,也适合学校中的项目答辩或者毕业设计。

角色介绍

系统共设计了三个角色:游客、用户、管理员。

  1. 游客:尚未进行注册和登录。具备登录注册、疾病、药品的搜索、查询详情等权限。
  2. 用户:除了游客的功能权限外,还具备登录、个人资料的修改、登录密码修改、意见反馈、智能医生咨询等权限。
  3. 管理员:除了用户的功能权限外,还具备疾病管理、药品管理、反馈管理等权限。

功能介绍

游客功能介绍
功能模块功能描述
登录注册方面注册成为系统用户
系统主页浏览系统主页、疾病、药品信息搜索、详情的查看(统计浏览量)
用户功能介绍
功能模块功能描述
登录注册方面填写用户信息进行账号注册(邮件接收验证码)、使用账号密码进行登录
个人资料方面修改个人资料(姓名、年龄、手机号、头像等)、修改登录密码
系统反馈方面提交系统反馈意见
智能医生方面与智能医生进行交流聊天
管理员功能介绍
功能模块功能描述
登录注册方面填写用户信息进行账号注册(邮件接收验证码)、使用账号密码进行登录
个人资料方面修改个人资料(姓名、年龄、手机号、头像等)、修改登录密码
系统反馈方面提交系统反馈意见
智能医生方面与智能医生进行交流聊天
疾病管理方面发布疾病、编辑(名称、原因、症状、分类等)、删除药品等
药品管理方面发布药品、编辑(名称、搜索关键词、功效、用法用量、类型等)、关联疾病、删除药品等
反馈管理方面管理用户提交的反馈信息

技术介绍

前端

名称描述
HTML、CSS用于设计网页的内容和样式
JavaScript、JQuery作为开发 Web 页面的脚本语言,为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果
Bootstrap基于 HTML、CSS、JavaScript 开发的简洁、直观、强悍的前端开发框架,使得 Web 开发更加快捷
前端模板智慧医药系统页面模板,模板文件已放在分享项目目录下

后端

名称描述
SpringBootSpringBoot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot 致力于在蓬勃发展的快速应用开发领域成为领导者。
SpringMVCSpring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。
MyBatisMyBatis 是一个 Java 持久化框架,它可以帮助开发者更轻松地管理数据库访问和SQL映射。它提供了一种简单且灵活的方式来进行数据库操作,同时还支持动态 SQL、缓存和批量操作等功能。
ThymeleafThymeleaf 是一个流行的模板引擎,该模板引擎采用 Java 语言开发的,用于渲染 XML/XHTML/HTML5 内容的模板引擎。类似 JSP、Velocity、FreeMaker 等,它也可以轻易的与 Spring MVC 等 Web 框架进行集成作为 Web 应用的模板引擎。
DruidDruid 是一个高效的数据查询系统,主要解决的是对于大量的基于时序的数据进行聚合查询。数据可以实时摄入,进入到 Druid 后立即可查,同时数据是几乎是不可变。通常是基于时序的事实事件,事实发生后进入 Druid,外部系统就可以对该事实进行查询。

开发工具与环境

  • 开发工具

    • IntelliJ IDEA 2020.2.2:主要进行系统的开发、系统调试等
      • 使用到的插件
        • Lombok:使用注解代替在实体类中添加的 get/set/toString 方法等
    • WebStorm 2019.2.1:主要进行前端页面的开发
    • Navcat:主要进行数据库的连接、建库建表、系统调试等
  • 开发环境

    • JDK 1.8
    • Maven 3.6
    • MySQL 5.7
  • 阿里云 OSS 对象存储

    阿里云对象存储 OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,对于我们这个项目而言,所有的二进制文件,包括头像、用户上传的文件都是存储到了 OSS 里面(调用相关的工具类),在数据库中只是保存了文件的 URL 地址。通过这个 URL 地址就可以获取、下载指定文件

  • 阿里云 AIGC 通义千问大语言模型

    通义千问,是阿里云推出的一个超大规模的语言模型,功能包括多轮对话、文案创作、逻辑推理、多模态理解、多语言支持。能够跟人类进行多轮的交互,也融入了多模态的知识理解,且有文案创作能力,能够续写小说,编写邮件等。

项目结构

本项目使用标准 SSM 目录结构,后端使用 MVC 三层架构,具体项目结构如下:

  • src:源码目录
  • src/main/java:源码主体目录
  • src/main/java/xxx/component:java常用组件存放地址,比如登录拦截器【拦截器】
  • src/main/java/xxx/controller:java控制器类存放地址【控制层】
  • src/main/java/xxx/entity:java实体类存放地址【模型】
  • src/main/java/xxx/dao:MyBatis的映射接口存放地址,【数据访问层】
  • src/main/java/xxx/service:java业务层接口存放地址【业务逻辑抽象层】
  • src/main/java/xxx/utils:java工具类存放地址【工具类】
  • src/resources:资源文件存放目录
  • src/main/resources/smart-medicine.sql:数据库脚本
  • src/main/resources/static:前端静态资源存放地址
  • src/main/resources/templates:前端页面存放地址
  • src/main/resources/application.yml:SpringBoot配置文件
  • pom.xml:Maven项目依赖管理文件

注意!如果想要部署本项目,你只需要修改一个文件:application.yml

  1. 修改数据源配置
  2. 修改邮件配置 开源项目部署环境准备
  3. 阿里云通义千问配置 如何开通并创建API-KEY-阿里云帮助中心
  4. 阿里云对象存储配置 开源项目部署环境准备

注意 MySQL 的版本是 5.7,使用其它版本可能会出现其它未知问题。

系统截图

系统主页

搜索一下

疾病百科

疾病信息

查找药品

我的资料

疾病管理

药品管理

智能医生

开源声明

本项目已在 Github 开源,喜欢的话记得帮忙点亮 Star,不求打赏,免费分享,只求你一个免费的👍,你的支持是我做下去的动力。

也许您对下面的内容还感兴趣: