Skip to content

Latest commit

 

History

History
217 lines (164 loc) · 4.84 KB

File metadata and controls

217 lines (164 loc) · 4.84 KB

多模态数据处理项目详细使用指南

项目概述

这是一个支持多种文件格式的数据处理项目,能够:

  • 处理PDF、TXT、DOC/DOCX文档
  • 处理PNG、JPG等图片格式
  • 使用多模态模型(如Qwen2.5-VL-72B)从图片中提取文本
  • 支持批量处理和异步操作

安装和配置

1. 安装依赖

使用清华源快速安装:

# 进入项目目录
cd /mnt/c/Users/HW/Desktop/yuanhechen/DataProcessing

# 使用清华源安装依赖
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

# 或者使用安装脚本
./install_with_tsinghua.sh  # Linux/Mac
#
install_with_tsinghua.bat   # Windows

2. 配置模型服务

编辑 config/settings.yaml 文件,配置您的多模态模型服务:

model:
  # 多模态模型服务地址
  base_url: "http://localhost:8000"
  # API端点
  vision_endpoint: "/v1/chat/completions"
  # 模型名称
  model_name: "Qwen2.5-VL-72B"
  # 请求超时时间(秒)
  timeout: 300
  # 最大重试次数
  max_retries: 3

使用方法

基本命令

  1. 查看支持的文件格式
python3 src/main.py info
  1. 查看当前配置
python3 src/main.py config-info
  1. 处理文件
python3 src/main.py process --input data/input --output data/output

详细使用步骤

第1步:准备输入文件

将要处理的文件放入 data/input 目录:

# 创建一些测试文件
echo "这是测试文本" > data/input/test.txt
# 复制PDF、DOC、图片文件到 data/input/

第2步:运行处理程序

python3 src/main.py process --input data/input --output data/output

第3步:查看结果

处理完成后,结果保存在 data/output 目录:

  • processing_results.json: 详细的处理报告
  • extracted_texts/: 提取的文本内容

支持的文件格式

  • 文档: PDF, TXT, DOC, DOCX
  • 图片: PNG, JPG, JPEG, BMP, TIFF

处理结果

每个文件的处理结果包含:

  • 文件路径和基本信息
  • 处理是否成功
  • 提取的文本内容
  • 错误信息(如果有)
  • 使用的处理器类型

高级用法

1. 自定义配置

您可以修改 config/settings.yaml 来调整:

  • 批处理大小
  • 并发处理数量
  • 日志级别
  • 输出格式

2. 编程接口

import asyncio
from src.processors import ProcessorManager
from src.models import ModelManager

# 处理单个文件
async def process_file():
    processor_manager = ProcessorManager()
    result = await processor_manager.process_file(Path("data/input/example.txt"))
    print(result)

# 处理图片
async def process_image():
    model_manager = ModelManager()
    result = await model_manager.process_image(Path("data/input/image.jpg"))
    print(result)

# 运行
asyncio.run(process_file())

3. 批量处理

项目支持大量文件的批量处理,会自动:

  • 按配置的批次大小分组处理
  • 显示进度条
  • 并发处理以提高效率
  • 生成详细的处理报告

模型服务部署

本地部署Qwen2.5-VL-72B

  1. 安装模型服务(示例)
# 使用vLLM部署
pip install vllm
python -m vllm.entrypoints.openai.api_server \
    --model Qwen/Qwen2.5-VL-72B-Instruct \
    --port 8000 \
    --served-model-name Qwen2.5-VL-72B
  1. 验证服务
curl http://localhost:8000/v1/models

故障排除

常见问题

  1. 模块未找到错误

    • 确保已安装所有依赖:pip install -r requirements.txt
  2. 模型服务连接失败

    • 检查 config/settings.yaml 中的服务地址
    • 确保模型服务正在运行
  3. 文件处理失败

    • 检查文件格式是否支持
    • 查看 logs/app.log 获取详细错误信息

日志查看

项目日志保存在 logs/app.log

tail -f logs/app.log

项目结构

DataProcessing/
├── src/                    # 源代码
│   ├── processors/         # 文件处理器
│   ├── models/            # 模型接口
│   ├── utils/             # 工具函数
│   └── main.py            # 主程序
├── config/                # 配置文件
├── data/                  # 数据目录
├── logs/                  # 日志文件
├── tests/                 # 测试文件
└── requirements.txt       # 依赖列表

扩展开发

添加新的文件处理器

  1. 创建新的处理器类,继承 BaseProcessor
  2. 实现 can_process()process() 方法
  3. ProcessorManager 中注册新处理器

集成其他模型

  1. src/models/ 中创建新的模型客户端
  2. 实现统一的接口方法
  3. 在配置文件中添加相应配置

性能优化

  • 调整 batch_size 控制批处理大小
  • 调整 max_workers 控制并发数量
  • 使用SSD存储提高I/O性能
  • 根据内存大小调整 memory_limit