5.3 KiB
5.3 KiB
一、已完成的集成工作
1. 核心功能集成 ✅
- MinerU 代码完整复制到 MaxKB 项目 (
/apps/common/handle/impl/mineru/) - 创建 MaxKB 适配器 (
maxkb_adapter.py) - 实现分段处理器 (
mineru_split_handle.py) - 注册到文档处理流程(最高优先级)
2. 模型调用改造 ✅
- 创建 MaxKB 模型客户端 (
maxkb_model_client.py) - 替换 litellm 调用为 MaxKB 模型调用
- 支持 LLM 和 Vision Model 两种模型
- 实现模型响应对象的兼容层
3. 前端集成 ✅
- 添加 MinerU 文档类型选项
- 实现模型选择器(LLM + Vision Model)
- 集成模型列表动态加载
- 使用 Pinia store 管理状态
4. 后端支持 ✅
- 文档序列化器支持额外参数传递
- 支持 MinerU 特定的模型参数
- 处理器支持 kwargs 参数
5. 依赖处理 ✅
- 移除 gptbase.settings 依赖
- 移除 litellm 直接调用
- 实现本地 ImageOptimizer
- 实现本地 utils 功能
二、需要注意的问题和待优化项
1. 缺失的功能模块 ⚠️
a. 图片上传功能
# 当前在 maxkb_adapter.py 中是 TODO
# TODO: 实现图片上传逻辑
# uploaded_url = await upload_image(img_path, upload_options)
需要实现:集成 MaxKB 的文件存储系统用于图片上传
b. 追踪系统
# parallel_processor.py 中注释了
# from loader.trace import set_trace_id
建议:使用 MaxKB 的日志系统替代
c. 缓存系统
- MinerU 原本有缓存机制,需要确认是否需要在 MaxKB 中实现
- 当前使用临时目录,可能需要更持久的缓存策略
2. API 调用问题 ⚠️
a. MinerU API 客户端
# api_client.py 中的 MinerU API 调用
# 需要确认 MinerU API 服务是否可用
需要确认:
- MinerU API 服务地址和认证
- 是否需要自建 MinerU 服务
- API 调用的超时和重试策略
b. 并行处理
# parallel_processor.py 和 parallel_processor_pool.py
# 使用了队列和线程池进行并行处理
需要测试:在 MaxKB 环境中的并发性能
3. 配置项检查 ⚠️
需要在 MaxKB 中添加的环境变量:
# MinerU API 配置
MINERU_API_KEY=xxx
MINERU_API_URL=https://mineru.net
MINERU_API_TYPE=cloud
# 处理配置
MAX_FILE_SIZE=52428800 # 50MB
LIBREOFFICE_PATH=libreoffice
CONVERSION_TIMEOUT=300
# 性能配置
MAX_CONCURRENT_UPLOADS=5
MAX_CONCURRENT_API_CALLS=3
MINERU_BATCH_PROCESSING=true
MINERU_BATCH_SIZE=20
4. 文件格式支持 ⚠️
当前支持的格式:
- PDF ✅
- PPT/PPTX ✅
需要确认的转换工具:
- LibreOffice(PPT 转 PDF)- 需要系统安装
- PyMuPDF (fitz) - 需要 pip 安装
5. 错误处理增强 🔧
建议添加的错误处理:
- 模型调用失败的降级策略
- MinerU API 不可用时的处理
- 文件转换失败的处理
- 大文件处理的内存管理
三、测试清单
1. 单元测试
- MaxKB 模型客户端测试
- MinerU 适配器测试
- 文件格式检测测试
- 图片处理测试
2. 集成测试
- PDF 文档解析测试
- PPT 文档解析测试
- 大文件处理测试(>10MB)
- 并发处理测试
- 模型调用测试
3. 端到端测试
- 完整的文档上传流程
- 模型选择和切换
- 解析结果的质量验证
- 向量化存储验证
四、部署准备
1. 系统依赖
# 需要安装的系统包
apt-get install -y libreoffice
apt-get install -y python3-pip
# Python 依赖
pip install pymupdf
pip install pillow
pip install beautifulsoup4
pip install tiktoken
2. 性能优化建议
- 为 MinerU 处理设置独立的队列
- 实现文档处理的异步化
- 添加处理进度的实时反馈
- 实现智能的批处理策略
3. 监控指标
- 文档处理时间
- 模型调用次数和耗时
- 内存使用情况
- 错误率统计
五、下一步行动计划
优先级 1 - 必须完成
-
实现图片上传功能
- 集成 MaxKB 文件存储
- 实现图片 URL 管理
-
完善 MinerU API 配置
- 确认 API 服务可用性
- 配置认证和超时
-
添加基础错误处理
- 模型调用失败处理
- 文件处理异常捕获
优先级 2 - 建议完成
-
优化缓存机制
- 实现持久化缓存
- 添加缓存清理策略
-
增强日志记录
- 添加详细的处理日志
- 实现处理追踪
-
性能优化
- 优化大文件处理
- 改进并发策略
优先级 3 - 可选增强
- 添加更多文件格式支持
- 实现处理结果预览
- 添加处理统计和报告
六、风险和注意事项
- 许可证合规性:确保 MinerU 的使用符合许可要求
- 数据安全:确保文档处理过程中的数据安全
- 资源消耗:MinerU 处理可能消耗大量 CPU/内存
- API 限制:注意第三方 API 的调用限制
- 模型成本:Vision Model 调用可能产生较高成本
七、总结
MinerU 集成的核心功能已经完成,可以进行基础的文档解析。主要需要关注:
- 完善图片上传功能
- 确认 MinerU API 服务配置
- 进行完整的测试
- 优化性能和错误处理
建议先在测试环境中验证完整流程,确保稳定后再部署到生产环境。