基于知识图谱(Neo4j)和大语言模型(LLM)的图检索增强(GraphRAG)的乳制品生产管理智能问答系统

一、项目演示视频

b站演示视频与部署教程视频(点击这里)

https://www.bilibili.com/video/BV1SYcMzdEmM/?share_source=copy_web\&vd_source=31c839f46a9a845dd6dd641cbd5c2ac1

二、技术栈

  1. 前端: Vue3.5 + TypeScript5.7 + Element Plus2.9 + ECharts5.6 + Pinia + Vue Router + Vite6.1 + Axios + Marked
  2. 后端: Flask + SQLite + Neo4j + 通义千问API + Flask-CORS + PyJWT + python-docx + pdfplumber + openpyxl + neo4j-driver

三、功能模块

【用户端功能】

  1. 用户管理:注册、登录、个人信息管理、密码修改、头像上传
  2. 文档浏览:文档列表查看、文档详情查看、文档搜索
  3. 智能问答:基于知识图谱的智能问答,支持多轮对话、图片上传识别
  4. 会话管理:创建会话、查看历史会话、删除会话、自动生成标题
  5. 问答历史:查看问答记录、知识图谱可视化展示、产品信息和生产记录检索展示、关键词提取展示、支持导出Word文档
  6. 个人中心:个人资料修改、密码修改、头像更换

【管理端功能】

  1. 数据统计:用户数、文档数、会话数、问答记录数、产品数、生产记录数统计、数据趋势可视化(饼图、折线图)
  2. 用户管理:用户信息查看、状态管理、密码重置、用户删除
  3. 文档管理:文档上传(TXT/DOCX/PDF/XLSX)、文档CRUD操作、文档内容查看、AI摘要生成、文档目录管理、MD5去重
  4. 知识图谱管理:
    • 数据同步:从文档中提取实体和关系,同步到Neo4j
    • 全量重建:重新构建整个知识图谱
    • 增量构建:仅处理未构建图谱的文档
    • 任务状态查询:查看图谱构建任务的进度和状态
    • 节点搜索:搜索特定实体及其邻居节点
  5. 知识图谱可视化:
    • 交互式图谱展示:使用ECharts力导向图展示节点和关系
    • 节点类型过滤:按实体类型筛选节点(16种实体类型)
    • 关系类型过滤:按关系类型筛选边(20种关系类型)
    • 节点搜索:搜索节点并展示1-3跳邻居关系
    • 布局切换:支持力导向布局和圆形布局
    • 节点大小:根据连接数动态调整节点大小
    • 统计信息:实时显示节点数、关系数、类型分布统计
  6. 产品信息管理:
    • 产品档案CRUD:创建、查询、更新、删除产品基本信息
    • 完整数据录入:产品编号、名称、类型、原材料、生产工艺、质量标准、图片等
    • 图片上传:支持产品图片上传和管理
    • 搜索和筛选:按产品名称或编号搜索
    • 级联删除:删除产品时自动删除关联的所有生产记录
    • 统计分析:产品数量、产品类型分布统计
  7. 生产记录管理:
    • 生产记录CRUD:创建、查询、更新、删除生产批次记录
    • 多图上传:支持每个生产记录上传多张图片(工艺图片和相关图片)
    • 关联产品:每个生产记录关联到对应的产品信息
    • 详细信息:生产日期、生产线、生产数量、质检员、关键指标、成本、产量等
    • 按产品筛选:查看特定产品的所有生产记录
    • 关键词搜索:按批次号、生产线等关键词搜索
    • 多维度统计:按生产线、质量状态、产品统计分析

【核心技术功能】

  1. GraphRAG检索增强生成:三路并行检索(知识图谱Top-7 + 产品信息Top-5 + 生产记录Top-5)
  2. 关键词提取:使用LLM从用户问题中提取关键词(支持历史对话上下文)
  3. 实体搜索与关系扩展:在知识图谱中搜索实体并扩展邻居关系
  4. 三元组提取:使用LLM从文档中提取<头实体, 关系, 尾实体>三元组(多线程并发加速文档提取)
  5. 文档溯源:每个知识三元组关联源文档ID,支持知识追溯
  6. 多模态问答:支持上传产品图片进行识别和问答(qwen-vl-plus模型)
  7. 异步任务处理:知识图谱构建任务异步执行,支持实时进度查询
  8. 文档MD5去重:基于文件MD5哈希检测重复文档,避免重复上传

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

  1. RawMaterial(原材料):原材料实体,如"生鲜牛乳"、"乳清"
  2. CattleBreed(奶牛品种):奶牛品种,如"荷斯坦牛"、"娟姗牛"
  3. Product(产品):乳制品产品,如"巴氏杀菌奶"、"酸奶"、"奶酪"
  4. IntermediateProduct(中间产物):中间产物
  5. ProcessStep(工艺步骤):生产工艺步骤,如"巴氏杀菌"、"发酵"、"均质"
  6. Equipment(设备):生产设备,如"板式换热器"、"发酵罐"
  7. Location(地点):地理位置
  8. Indicator(指标):质量检测指标,如"脂肪含量"、"蛋白质含量"
  9. DetectionMethod(检测方法):检测方法
  10. PersonnelRole(人员角色):人员角色
  11. Standard(标准):质量标准
  12. EnvironmentalCondition(环境条件):环境条件,如"温度"、"湿度"
  13. ProductionLine(生产线):生产线
  14. Additive(添加剂):食品添加剂,如"益生菌"、"稳定剂"
  15. Microorganism(微生物):微生物,如"嗜热链球菌"、"保加利亚乳杆菌"
  16. NutritionalComponent(营养成分):营养成分,如"钙"、"维生素D"
  17. PackagingMaterial(包装材料):包装材料,如"PET瓶"、"利乐包"
  18. RiskEvent(风险事件):风险事件

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

  1. INPUT_TO:输入到(原材料输入到工艺步骤)
  2. OUTPUT_FROM:输出从(产品从工艺步骤产出)
  3. USES_EQUIPMENT:使用设备(工艺步骤使用设备)
  4. GENERATES:生成(工艺步骤生成产品)
  5. FOLLOWS_STANDARD:遵循标准(产品遵循质量标准)
  6. MONITORS_INDICATOR:监控指标(工艺监控质量指标)
  7. CONTAINS:包含(产品包含营养成分)
  8. LOCATED_AT:位于(设备位于地点)
  9. EXECUTED_BY:由人员执行(工艺由人员执行)
  10. USES_MATERIAL:使用材料(工艺使用原材料)
  11. PRODUCES_INTERMEDIATE:产生中间产物(工艺产生中间产物)
  12. DETECTS_BY:检测方法(通过检测方法检测)
  13. REQUIRES_CONDITION:需要条件(工艺需要环境条件)
  14. ADDS_ADDITIVE:添加添加剂(添加剂添加到产品)
  15. INOCULATES_MICROORGANISM:接种微生物(微生物接种到产品)
  16. PROVIDES_NUTRIENT:提供营养(营养成分提供营养)
  17. USES_PACKAGING:使用包装(产品使用包装材料)
  18. MAY_CAUSE_RISK:可能导致风险(操作可能导致风险事件)
  19. DOCUMENTED_IN:记录于文档(实体记录于文档,用于文档溯源)
  20. RELATED_TO:相关(通用相关关系)

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

  1. user:用户表,存储用户基本信息和权限
  2. document_folder:文档目录表,存储文档分类目录
  3. document:文档表,存储上传的乳制品生产相关文档(支持MD5去重)
  4. conversation:会话表,存储用户的问答会话
  5. qa_history:问答历史表,存储每轮问答的详细记录(包含知识图谱负载、产品信息和生产记录检索结果)
  6. product_info:产品信息表,存储产品的档案数据(包含图片)
  7. production_record:生产记录表,存储生产批次记录(包含多张工艺图片)

四、项目链接

链接: https://pan.baidu.com/s/1JpV-q_SW8JU0Vp0GLO3ziA?pwd=cjdw 提取码: cjdw

  1. 完整系统源码
    (1)前端源码(web-vue)
    (2)后端与算法端源码(web-flask)
  2. 项目介绍文档
    (1)项目概述
    (2)项目技术栈
    (3)项目目录结构
    (4)系统架构图、功能模块图
    (5)数据库表结构详细说明
  3. 项目启动教程
    (1)环境安装教程(视频+文档)
    (2)系统启动教程(视频+文档)
相关推荐
九.九5 小时前
ops-transformer:AI 处理器上的高性能 Transformer 算子库
人工智能·深度学习·transformer
春日见5 小时前
拉取与合并:如何让个人分支既包含你昨天的修改,也包含 develop 最新更新
大数据·人工智能·深度学习·elasticsearch·搜索引擎
恋猫de小郭5 小时前
AI 在提高你工作效率的同时,也一直在增加你的疲惫和焦虑
前端·人工智能·ai编程
deephub5 小时前
Agent Lightning:微软开源的框架无关 Agent 训练方案,LangChain/AutoGen 都能用
人工智能·microsoft·langchain·大语言模型·agent·强化学习
大模型RAG和Agent技术实践6 小时前
从零构建本地AI合同审查系统:架构设计与流式交互实战(完整源代码)
人工智能·交互·智能合同审核
老邋遢6 小时前
第三章-AI知识扫盲看这一篇就够了
人工智能
互联网江湖6 小时前
Seedance2.0炸场:长短视频们“修坝”十年,不如AI放水一天?
人工智能
PythonPioneer6 小时前
在AI技术迅猛发展的今天,传统职业该如何“踏浪前行”?
人工智能
冬奇Lab6 小时前
一天一个开源项目(第20篇):NanoBot - 轻量级AI Agent框架,极简高效的智能体构建工具
人工智能·开源·agent
阿里巴巴淘系技术团队官网博客7 小时前
设计模式Trustworthy Generation:提升RAG信赖度
人工智能·设计模式