当前位置: 首页 > news >正文

基于知识图谱(Neo4j)和大语言模型(LLM)的图检索增强(GraphRAG)的台风灾害知识问答系统(vue+flask+AI算法)

一、项目演示视频

基于知识图谱(Neo4j)和大语言模型(LLM)的图检索增强(GraphRAG)的台风灾害知识问答系统(vue+flask+AI算法)

二、技术栈

前端:Vue3 + TypeScript + Element Plus + ECharts + Pinia + Vue Router
后端+算法端:Flask + SQLite + Flask-CORS + PyJWT + Neo4j + python-docx + PyPDF2 + Qwen API接口

三、功能模块

【用户端功能】

  1. 用户管理:注册、登录、个人信息管理、密码修改、头像上传
  2. 文档浏览:文档列表查看、文档详情查看、文档搜索
  3. 智能问答:基于知识图谱的智能问答,支持多轮对话
  4. 会话管理:创建会话、查看历史会话、删除会话
  5. 问答历史:查看问答记录、相关实体展示、知识图谱上下文展示
  6. 个人中心:个人资料修改、密码修改、头像更换

【管理端功能】

  1. 数据统计:用户数、文档数、会话数、问答记录数统计、趋势分析
  2. 用户管理:用户信息查看、状态管理、密码重置、用户删除
  3. 文档管理:文档上传、文档CRUD操作、文档内容查看、文档下载
  4. 知识图谱管理:
    • 数据同步:从文档中提取实体和关系,同步到Neo4j
    • 全量重建:重新构建整个知识图谱
    • 增量构建:仅处理未构建图谱的文档
    • 任务状态查询:查看图谱构建任务的进度和状态
    • 节点搜索:搜索特定实体及其邻居节点
  5. 知识图谱可视化:
    • 交互式图谱展示:使用ECharts展示节点和关系
    • 节点类型过滤:按实体类型筛选节点(台风、地点、灾害类型等10种类型)
    • 关系类型过滤:按关系类型筛选边(发生于、导致、影响等11种关系)
    • 节点搜索:搜索节点并展示1层邻居关系
    • 布局切换:支持力导向布局和圆形布局
    • 节点连接数展示:显示每个节点的实际连接数(度数)
    • 重复边处理:自动使用曲线区分连接同一对节点的多条边
    • 统计信息:节点数、关系数、类型分布统计
  6. 台风信息管理:
    • 台风档案CRUD:创建、查询、更新、删除历史台风基本信息
    • 完整数据录入:编号、名称、强度、风速、气压、时间、路径、影响区域
    • 搜索和筛选:按台风名称或编号搜索
    • 级联删除:删除台风时自动删除关联的所有灾害案例
    • 统计分析:台风数量、强度分布、经济损失统计
  7. 灾害案例管理:
    • 案例记录CRUD:创建、查询、更新、删除台风灾害案例
    • 关联台风:每个案例关联到对应的台风信息
    • 详细信息:时间、地点、灾害类型、严重程度、损失数据、救援措施
    • 按台风筛选:查看特定台风的所有灾害案例
    • 多维度统计:按地点、灾害类型、严重程度统计分析

【核心技术功能】

  1. GraphRAG检索增强生成:结合知识图谱检索策略
  2. 实体识别:从用户问题中识别台风、地点等关键实体
  3. 关系推理:基于知识图谱的多跳关系推理
  4. 三元组提取:使用LLM从文档中提取<头实体, 关系, 尾实体>三元组
  5. 上下文构建:为LLM构建包含实体描述和关系的结构化上下文
  6. 异步任务处理:知识图谱构建任务异步执行,支持进度查询

【知识图谱节点类型(10种)】

  1. Typhoon(台风):台风实体,如"台风山竹"
  2. Location(地点):地理位置,如"广东"、“珠海”
  3. DisasterType(灾害类型):灾害类型,如"暴雨"、“洪水”
  4. Damage(损失):灾害造成的损失,如"经济损失"、“人员伤亡”
  5. Infrastructure(基础设施):受影响的基础设施,如"道路"、“桥梁”
  6. PreventiveMeasure(防护措施):防护措施,如"加固堤坝"、“疏散人员”
  7. RescueAction(救援行动):救援行动,如"紧急救援"、“物资发放”
  8. Organization(组织机构):相关组织,如"消防队"、“民政部门”
  9. Document(文档):文档来源
  10. TimePoint(时间点):时间信息,如"2018年9月"

【知识图谱关系类型(11种)】

  1. OCCURRED_AT:台风发生于地点
  2. HAPPENED_ON:台风发生于时间
  3. CAUSED:台风导致灾害
  4. AFFECTED:灾害影响地点
  5. RESULTED_IN:灾害造成损失
  6. PREVENTED_BY:灾害被防护措施预防
  7. RESCUED_BY:地点被救援行动救援
  8. EXECUTED_BY:救援行动由组织执行
  9. DOCUMENTED_IN:实体记录于文档
  10. LOCATED_IN:地点位于地点(地理层级)
  11. RELATED_TO:通用相关关系

【数据库表结构(6张表)】

  1. user:用户表,存储用户基本信息和权限
  2. document:文档表,存储上传的台风灾害相关文档
  3. conversation:会话表,存储用户的问答会话
  4. qa_history:问答历史表,存储每轮问答的详细记录
  5. typhoon_info:台风基本信息表,存储历史台风的档案数据
  6. typhoon_case:台风灾害案例表,存储具体的灾害发生案例

四、项目链接

链接: https://pan.baidu.com/s/12VF77WaCdpybEterCZO7Gw?pwd=hew2 提取码: hew2

  1. 完整系统源码
    (1)前端源码(web-vue)
    (2)后端与算法端源码(web-flask)
  2. 项目介绍文档
    (1)项目概述
    (2)项目技术栈
    (3)项目目录结构
    (4)系统架构图、功能模块图
    (5)数据库表结构详细说明
  3. 项目启动教程
    (1)环境安装教程(视频+文档)
    (2)系统启动教程(视频+文档)
http://www.dtcms.com/a/498737.html

相关文章:

  • 短剧APP开发性能优化专项:首屏加载提速技术拆解
  • 2025年远程控制软件横评:UU远程、ToDesk、向日葵
  • 前端核心理论深度解析:从基础到实践的关键知识点
  • 合肥官方网站建设有哪些公司
  • 大模型-高效优化技术全景解析:微调 量化 剪枝 梯度裁剪与蒸馏 下
  • 微信个人号开发中如何高效实现API二次开发
  • 网页设计与网站建设实战大全wordpress文章页实现图片幻灯展现
  • Ubuntu22.04 VMware虚拟机文件拖放问题:文字复制正常但文件拖放失效
  • Vue Router 路由守卫钩子详解
  • 开源 Linux 服务器与中间件(三)服务器--Nginx
  • Java 大视界 -- Java 大数据在智能农业无人机植保作业路径规划与药效评估中的应用
  • 【OpenGL】模板测试(StencilTest)
  • 文本描述驱动的可视化工具在IDE中的应用与实践
  • C#程序实现将MySQL的存储过程转换成Oracle的存储过程
  • IDEA 中 Tomcat 部署 Java Web 项目
  • 全景网站模版校园微网站建设方案ppt模板
  • 东莞公司网站建设公司哪家好制作网站链接
  • 【Linux】Socket编程UDP
  • “桌面自动化”解救“浏览器自动化”受阻(反爬虫检测)(pywinauto、pyautogui、playwright)
  • 线程安全集合源码速读:Hashtable、Vector、Collections.synchronizedMap
  • 大文件上传与文件下载
  • React Native 项目中 WebSocket 的完整实现方案
  • 电脑建设银行怎样设置网站查询密码手机网站建设价钱是多少
  • Linux内核ida数据结构使用
  • SAP MM委外采购订单执行报表分享
  • Docker中授权普通用户使用docker命令以及解决无权限访问/var/run/docker.sock错误
  • 算法奇妙屋(八)-泰波那契数列模型
  • 荆门哪里做网站女生学建筑工程技术就业前景
  • HarmonyOS中ArkTS与Flutter数据类型对比详解
  • 【11408学习记录】考研数学核心突破:线性变换的深度解析与应用实例