工業復雜文檔解析系統
一個基于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// 文檔處理