项目总体架构
表现层(前端)
- Web 前端
- 移动端
业务逻辑层
- 用户管理模块 :管理用户的登录注册,用户身份识别,以及关注和被关注
- 展品管理模块 :展馆方对展馆内部的展品信息进行管理,同时提供展品的访问情况
- 展品识别模块 :模块直接调用外部封装的Yolo模型接口,将识别结果传递给后续业务逻辑。
- 内容生成模块 :根据建筑识别结果和用户行为数据,利用RAG实现大模型的精准回答。
- 内容管理模块
- 管理端:为展馆的管理方提供对发布内容的管理,以及对展品信息的管理
- 用户端:提供对自己发布内容的管理,以及对其他用户文章的点赞,收藏,计数统计
- 评论管理模块
- 用户端:提供对内容的评论功能,以及修改撤回评论的能力
- 管理端:提供对用户评论的管理权限
数据访问层
- 关系型数据库
- 存储用户信息、文章、评论等结构化数据。
- 缓存系统
- 缓存热点数据、用户会话和部分生成结果,提升系统响应速度。
- 消息队列
- 异步更新数据,保证主业务操作的速度
- 向量数据库
- 服务于RAG的向量化
技术选型
-
总体框架:SpringBoot
-
数据持久层:MyBatis
-
建筑识别模块
- yolo模型
- 外部Flask模块
-
生成系统模块
- Langchain4j框架进行对话管理和RAG
- Ollama部署私有LLM
- 向量数据库:Qdrant
-
关系型数据库:MySQL
-
缓存系统:Redis作为缓存中间件
-
消息队列:Kafka