# 数据预处理平台 **Repository Path**: beinian6/data-preprocessing-platform ## Basic Information - **Project Name**: 数据预处理平台 - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-05-12 - **Last Updated**: 2026-05-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多模态知识库数据清理和预处理平台 V1.0 面向多模态数据的清洗与预处理系统,支持文本、图片、音频、视频、PDF、Word 等格式的自动化处理、质量评估、向量化入库。 ## 技术栈 | 层级 | 技术 | |------|------| | 后端框架 | Python 3.10+ / FastAPI / Uvicorn | | 数据库 | PostgreSQL (asyncpg) / SQLite (aiosqlite) 自动切换 | | ORM | SQLAlchemy 2.0 (async) | | 前端框架 | Vue 3 / Element Plus / Vite / Axios | | 向量存储 | FAISS / ChromaDB | | 文本向量化 | sentence-transformers (all-MiniLM-L6-v2) | | 图像处理 | Pillow / OpenCV | | 音频处理 | librosa / soundfile | | 文档解析 | pdfplumber / PyPDF2 / python-docx | | 中文分词 | jieba | ## 功能概览 ### 数据预处理 - **7 种文件格式**: 文本(txt/md/csv/json)、图片、音频、视频、PDF、Word、OCR - **5 种文本分割策略**: 固定大小 / 按句子 / 按段落 / 递归分割 / 语义分割 - 分块大小、重叠长度可配置 ### 数据清洗 - 文本去噪 (URL/HTML/控制字符/重复行) - 中文标点规范化、Unicode 标准化 - 图片质量检测 (模糊/纯色/损坏) - 重复检测 (MD5 精确去重 / SimHash 近似去重) - 异常检测 (乱码/编码错误/无意义内容) ### 质量评分 - 多维度质量评估 (文本长度/信息密度/可读性/元数据完整性) - 低于阈值自动跳过向量化 ### 向量存储与检索 - FAISS / ChromaDB 双引擎支持 - 语义相似度检索 - 向量集合管理 (查看/清空/统计) ### 任务管理 - 异步任务队列 + 并发控制 - 实时进度追踪 (轮询) - 任务模板 (保存/复用常用配置) ### 5 种文本分割策略 | 策略 | 说明 | 适用场景 | |------|------|----------| | `recursive` | 递归分割,按层级尝试不同分隔符 | **通用默认** | | `sentence` | 按句子分割,保证句子完整性 | 翻译/摘要任务 | | `paragraph` | 按段落分割,保持段落语义 | 结构化文档 | | `fixed` | 固定大小分割 | 结构不明显的文本 | | `semantic` | 基于 embedding 相似度检测主题边界 | 长文档主题切分 | ### 平台功能 - 用户注册/登录 (JWT 认证) - 管理员用户管理 (启用/禁用) - 操作日志记录 - 系统配置管理 - 数据导出 (CSV) - 数据可视化 (ECharts 图表) - 文件预览 (文本/图片) - 批量处理 - PostgreSQL / SQLite 自动降级 ## 项目结构 ``` multimodal-preprocess-platform/ ├── backend/ # 后端服务 │ ├── main.py # FastAPI 入口 │ ├── config.py # 全局配置 │ ├── core/ # 核心模块 │ │ ├── engine.py # 预处理引擎 │ │ ├── pipeline.py # 处理管线 │ │ ├── scheduler.py # 任务调度器 │ │ ├── text_splitter.py # 多策略文本分割器 │ │ └── exceptions.py # 异常定义 │ ├── db/ # 数据库层 │ │ ├── session.py # 连接管理 (PG/SQLite 自动切换) │ │ ├── models.py # ORM 模型 │ │ └── crud.py # CRUD 操作 │ ├── preprocessors/ # 预处理器 │ │ ├── text_processor.py # 文本处理 │ │ ├── image_processor.py # 图片处理 │ │ ├── audio_processor.py # 音频处理 │ │ ├── video_processor.py # 视频处理 │ │ ├── pdf_processor.py # PDF 处理 │ │ ├── docx_processor.py # Word 处理 │ │ └── ocr_processor.py # OCR 识别 │ ├── cleaners/ # 数据清洗器 │ │ ├── text_cleaner.py # 文本清洗 │ │ ├── image_cleaner.py # 图片清洗 │ │ ├── duplicate_detector.py # 去重检测 │ │ ├── quality_scorer.py # 质量评分 │ │ └── anomaly_detector.py # 异常检测 │ ├── vectorstore/ # 向量存储 │ │ ├── faiss_store.py # FAISS 实现 │ │ ├── chroma_store.py # ChromaDB 实现 │ │ └── embedding.py # 文本向量化 │ ├── api/ # API 路由 (11 个模块) │ └── utils/ # 工具函数 ├── frontend/ # Vue 前端 │ ├── src/ │ │ ├── views/ # 页面 (12 个) │ │ ├── components/ # 公共组件 │ │ ├── api/ # 接口封装 (9 个) │ │ └── router/ # 路由 │ └── package.json └── README.md ``` ## 快速开始 ### 环境要求 - Python 3.10+ - Node.js 16+ - PostgreSQL 12+ (可选,无 PG 时自动使用 SQLite) ### 后端启动 ```bash # 创建虚拟环境 python3 -m venv venv source venv/bin/activate # 安装依赖 pip install -r backend/requirements.txt # 启动服务 (自动检测数据库) python3 main.py ``` 服务启动在 http://localhost:8000,API 文档: http://localhost:8000/docs ### 前端启动 ```bash cd frontend npm install npm run dev ``` 前端启动在 http://localhost:3000 ### 数据库说明 启动时自动检测: - **PostgreSQL 可用** → 使用 PG (配置见 `backend/config.py`) - **PG 不可用** → 自动降级到 SQLite (`backend/data/local.db`) 通过 `GET /health` 接口可查看当前使用的数据库类型。 ## 配置说明 主要配置在 `backend/config.py`,支持环境变量覆盖: | 变量 | 默认值 | 说明 | |------|--------|------| | `DB_HOST` | localhost | PostgreSQL 地址 | | `DB_PORT` | 5432 | PostgreSQL 端口 | | `DB_USER` | postgres | 数据库用户 | | `DB_PASS` | 123456 | 数据库密码 | | `DB_NAME` | multimodal_preprocess | 数据库名 | | `VECTOR_STORE_TYPE` | faiss | 向量存储类型 | | `EMBEDDING_MODEL` | all-MiniLM-L6-v2 | 向量化模型 | | `SECRET_KEY` | (内置) | JWT 密钥 | ## API 接口 | 模块 | 前缀 | 说明 | |------|------|------| | 用户管理 | `/api/user` | 注册/登录/信息/密码 | | 任务管理 | `/api/task` | CRUD/进度查询 | | 文件管理 | `/api/file` | 上传/列表/详情/预览/删除 | | 预处理 | `/api/preprocess` | 单文件/批量处理 | | 向量存储 | `/api/vector` | 搜索/添加/集合管理 | | 仪表盘 | `/api/dashboard` | 统计/图表数据 | | 操作日志 | `/api/log` | 日志查询 | | 系统配置 | `/api/setting` | 配置管理 | | 数据导出 | `/api/export` | CSV 导出 | | 批量操作 | `/api/batch` | 批量处理/删除 | | 任务模板 | `/api/template` | 模板 CRUD | ## 开源协议 MIT License