工业复杂文档解析系统
一个基于ragflow的工业文档智能解析和问答系统,支持多种文档格式的解析、知识库管理和智能问答功能。
系统功能
1. 文档管理
- 支持多种格式文档上传(PDF、Word、Excel、PPT、图片等)
- 文档自动解析和分块处理
- 实时处理进度显示
- 文档解析结果预览
- 批量文档管理
2. 知识库搜索
- 多知识库联合搜索
- 语义相似度搜索
- 关键词匹配
- 相似度阈值可配置
- 搜索结果高亮显示
- 相似度分数展示(总相似度、关键词相似度、向量相似度)
3. 智能问答
- 基于知识库的智能问答
- 多轮对话支持
- 会话管理(创建、重命名、删除)
- 引用来源追溯
- 实时响应状态显示
架构设计
前端架构
- 基于Vue3 + Element Plus的现代化前端框架
- 组件化设计,高度模块化
- 响应式布局,适配不同屏幕尺寸
- 状态管理与数据流设计
后端架构
- Java Spring Boot后端服务
- RESTful API设计
- 异步任务处理
- 分布式文档处理
- 向量数据库集成
核心技术
前端技术栈
- Vue3:核心框架
- Element Plus:UI组件库
- Axios:HTTP客户端
- Marked:Markdown渲染
- DOMPurify:XSS防护
后端技术栈
- Spring Boot:Web框架
- Spring Data JPA:数据访问层
- MySQL:关系型数据库
- Redis:缓存服务
- Milvus:向量数据库
- MinIO:对象存储服务
- RAGFlow:大语言模型应用框架
安装部署
前端部署
# 安装依赖
npm install
# 开发环境运行
npm run dev
# 生产环境构建
npm run build
后端部署
# 使用Maven打包
mvn clean package
# 运行JAR包
java -jar target/docragflow-0.0.1-SNAPSHOT.jar
项目目录结构
├── frontend/ # 前端项目目录
│ ├── src/ # 源代码
│ │ ├── components/ # 组件
│ │ ├── views/ # 页面
│ │ ├── api/ # API接口
│ │ ├── utils/ # 工具函数
│ │ └── App.vue # 主应用组件
│ └── public/ # 静态资源
├── backend/ # 后端项目目录
│ ├── src/ # 源代码
│ │ ├── main/
│ │ │ ├── java/ # Java源代码
│ │ │ │ └── com/docragflow/
│ │ │ │ ├── config/ # 配置类
│ │ │ │ ├── controller/ # 控制器
│ │ │ │ ├── service/ # 服务层
│ │ │ │ ├── repository/ # 数据访问层
│ │ │ │ ├── model/ # 数据模型
│ │ │ │ └── util/ # 工具类
│ │ │ └── resources/ # 配置文件
│ │ └── test/ # 测试代码
│ └── pom.xml # Maven配置文件
└── docs/ # 文档
API接口设计
文档管理接口
// 文档上传
POST /api/documents/upload
// 文档列表
GET /api/documents
// 文档处理