|
|
1 nedēļu atpakaļ | |
|---|---|---|
| .. | ||
| A用户_单元格扫描流水.yaml | 1 nedēļu atpakaļ | |
| B用户_扫描流水.yaml | 1 nedēļu atpakaļ | |
| README.md | 1 nedēļu atpakaļ | |
| global.yaml | 1 nedēļu atpakaļ | |
| 对公_招商银行图.yaml | 1 nedēļu atpakaļ | |
| 康强_北京农村商业银行.yaml | 1 nedēļu atpakaļ | |
| 德_内蒙古银行照.yaml | 1 nedēļu atpakaļ | |
| 至远彩色_2023年报.yaml | 1 nedēļu atpakaļ | |
本目录包含 OCR 验证系统的所有配置文件,用于管理数据源、OCR 工具参数和项目特定配置。
config/
├── global.yaml # 全局配置(必需)
├── 至远彩色_2023年报.yaml # 年报类项目配置
├── A用户_单元格扫描流水.yaml # 流水表格配置
├── B用户_扫描流水.yaml # 流水表格配置
├── 德_内蒙古银行照.yaml # 银行流水配置
├── 对公_招商银行图.yaml # 银行流水配置
└── README.md # 配置文档(本文件)
global.yaml)用途:引用所有项目特定配置文件,作为配置入口。
示例:
data_sources:
- 德_内蒙古银行照.yaml
- 对公_招商银行图.yaml
- A用户_单元格扫描流水.yaml
- B用户_扫描流水.yaml
- 至远彩色_2023年报.yaml
说明:
用途:定义每个项目的文档信息和 OCR 工具结果路径。
document:
name: "项目名称"
base_dir: "/绝对路径/到/项目根目录"
ocr_results:
- tool: "工具标识"
result_dir: "结果目录名"
image_dir: "图像目录路径(支持模板变量)"
description: "工具描述"
enabled: true/false
配置文件支持以下模板变量:
| 变量 | 说明 | 示例 |
|---|---|---|
{{name}} |
项目名称(来自 document.name) |
"B用户_扫描流水" |
示例:
image_dir: "paddleocr_vl_results/{{name}}"
# 实际路径:paddleocr_vl_results/B用户_扫描流水
document)| 参数 | 类型 | 必需 | 说明 | 示例 |
|---|---|---|---|---|
name |
string | ✅ | 项目名称 | "B用户_扫描流水" |
base_dir |
string | ✅ | 项目根目录(绝对路径) | "/Users/zhch158/workspace/data/流水分析/B用户_扫描流水" |
ocr_results)| 参数 | 类型 | 必需 | 说明 | 示例 |
|---|---|---|---|---|
tool |
string | ✅ | OCR 工具标识 | "ppstructv3" / "paddleocr_vl" / "mineru" / "dots_ocr" |
result_dir |
string | ✅ | OCR 结果目录(相对于 base_dir) |
"ppstructurev3_client_results" |
image_dir |
string | ✅ | 图像目录路径(支持模板变量 {{name}}) |
"ppstructurev3_client_results/{{name}} |
description |
string | ✅ | 工具描述 | "PPStructV3 图片合成结果" |
enabled |
boolean | ✅ | 是否启用该数据源 | true / false |
| 工具标识 | 工具名称 | 适用场景 |
|---|---|---|
ppstructv3 |
PPStructV3 | 结构化文档、表格 |
paddleocr_vl |
PaddleOCR-VL | VLM 文档理解 |
mineru |
MinerU | VLM 表格识别 |
dots_ocr |
Dots OCR | VLM 专业识别 |
说明:
mineru 工具标识也用于 PaddleOCR-VL、Dots OCR 等工具的合并结果result_dir 包含 cell_bbox 时,表示该结果已与 PaddleOCR 坐标合并B用户_扫描流水.yaml)document:
name: "B用户_扫描流水"
base_dir: "/Users/zhch158/workspace/data/流水分析/B用户_扫描流水"
ocr_results:
# PPStructV3
- tool: "ppstructv3"
result_dir: "ppstructurev3_client_results"
image_dir: "ppstructurev3_client_results/{{name}}"
description: "PPStructV3 图片合成结果"
enabled: true
# PaddleOCR-VL
- tool: "paddleocr_vl"
result_dir: "paddleocr_vl_results"
image_dir: "paddleocr_vl_results/{{name}}"
description: "PaddleOCR VLM 图片合成结果"
enabled: true
# PaddleOCR-VL (带 cell bbox)
- tool: "mineru" # 格式同 MinerU
result_dir: "paddleocr_vl_results_cell_bbox"
image_dir: "paddleocr_vl_results/{{name}}"
description: "PaddleOCR VLM + PaddleOCR 坐标"
enabled: true
# MinerU
- tool: "mineru"
result_dir: "mineru_vllm_results"
image_dir: "mineru_vllm_results/{{name}}"
description: "MinerU 图片合成结果"
enabled: true
# MinerU (带 cell bbox)
- tool: "mineru"
result_dir: "mineru_vllm_results_cell_bbox"
image_dir: "mineru_vllm_results/{{name}}"
description: "MinerU + PaddleOCR 坐标"
enabled: true
# DotsOCR
- tool: "dots_ocr"
result_dir: "dotsocr_vllm_results"
image_dir: "dotsocr_vllm_results/{{name}}"
description: "Dots OCR 图片合成结果"
enabled: true
# DotsOCR (带 cell bbox)
- tool: "mineru"
result_dir: "dotsocr_vllm_results_cell_bbox"
image_dir: "dotsocr_vllm_results/{{name}}"
description: "Dots OCR + PaddleOCR 坐标"
enabled: true
目录结构:
/Users/zhch158/workspace/data/流水分析/B用户_扫描流水/
├── ppstructurev3_client_results/
│ └── B用户_扫描流水/ # {{name}} 替换后
│ └── *.jpg
├── paddleocr_vl_results/
│ └── B用户_扫描流水/
│ └── *.jpg
├── paddleocr_vl_results_cell_bbox/
│ └── *.json
├── mineru_vllm_results/
│ └── B用户_扫描流水/
│ └── *.jpg
├── mineru_vllm_results_cell_bbox/
│ └── *.json
├── dotsocr_vllm_results/
│ └── B用户_扫描流水/
│ └── *.jpg
└── dotsocr_vllm_results_cell_bbox/
└── *.json
项目根目录/
├── data/
│ └── 流水分析/
│ └── B用户_扫描流水/ # base_dir
│ ├── ppstructurev3_client_results/ # result_dir
│ │ ├── B用户_扫描流水/ # image_dir ({{name}})
│ │ │ ├── page_001.jpg
│ │ │ └── page_002.jpg
│ │ └── *.json
│ ├── paddleocr_vl_results/
│ │ ├── B用户_扫描流水/
│ │ │ └── *.jpg
│ │ └── *.json
│ └── mineru_vllm_results_cell_bbox/
│ └── *.json
└── ocr_verify/
└── config/
├── global.yaml
└── B用户_扫描流水.yaml
base_dir 必须是绝对路径base_dir{{name}} 引用项目名称/| 场景 | 推荐工具组合 | 配置示例 |
|---|---|---|
| 财务报表 | MinerU + MinerU (cell bbox) | tool: "mineru" + result_dir 包含 cell_bbox |
| 银行流水 | Dots OCR + PaddleOCR-VL | tool: "dots_ocr" + tool: "paddleocr_vl" |
| 复杂表格 | 多工具交叉验证 | 启用所有 enabled: true 的工具 |
支持的位置:
image_dir 路径中变量来源:
{{name}}:来自 document.name示例:
document:
name: "B用户_扫描流水"
ocr_results:
- image_dir: "paddleocr_vl_results/{{name}}"
# 实际路径:paddleocr_vl_results/B用户_扫描流水
当使用合并工具(如 merge_mineru_paddle_ocr.py)生成带坐标的结果时:
ocr_results:
# 原始 MinerU 结果
- tool: "mineru"
result_dir: "mineru_vllm_results"
image_dir: "mineru_vllm_results/{{name}}"
description: "MinerU 图片合成结果"
enabled: true
# 合并后的结果(MinerU + PaddleOCR 坐标)
- tool: "mineru"
result_dir: "mineru_vllm_results_cell_bbox"
image_dir: "mineru_vllm_results/{{name}}"
description: "MinerU + PaddleOCR 坐标"
enabled: true
说明:
tool 统一到mineru格式的工具result_dir 使用不同的目录名(通常包含 cell_bbox)image_dir 可以复用原始工具的图像路径在 config/ 目录下创建新的 YAML 文件,如 新文档名.yaml:
document:
name: "新文档名"
base_dir: "/绝对路径/到/新项目"
ocr_results:
- tool: "ppstructv3"
result_dir: "ppstructv3_results"
image_dir: "ppstructv3_results/{{name}}"
description: "PPStructV3 识别结果"
enabled: true
- tool: "mineru"
result_dir: "mineru_results"
image_dir: "mineru_results/{{name}}"
description: "MinerU 识别结果"
enabled: true
编辑 global.yaml,添加新配置文件:
data_sources:
- 德_内蒙古银行照.yaml
- 对公_招商银行图.yaml
- A用户_单元格扫描流水.yaml
- B用户_扫描流水.yaml
- 至远彩色_2023年报.yaml
- 新文档名.yaml # 新增
# 验证 YAML 语法
python -c "import yaml; yaml.safe_load(open('config/新文档名.yaml'))"
# 启动应用测试
python -m streamlit run streamlit_ocr_validator.py
# 验证单个配置文件
python -c "import yaml; yaml.safe_load(open('config/B用户_扫描流水.yaml'))"
# 验证全局配置
python -c "import yaml; yaml.safe_load(open('config/global.yaml'))"
# 查看解析后的配置
python -c "
import yaml
with open('config/B用户_扫描流水.yaml') as f:
config = yaml.safe_load(f)
print(yaml.dump(config, default_flow_style=False, allow_unicode=True))
"
# macOS/Linux
ls -la /Users/zhch158/workspace/data/流水分析/B用户_扫描流水
# 检查结果目录
ls -la /Users/zhch158/workspace/data/流水分析/B用户_扫描流水/ppstructurev3_client_results
# 检查图像目录(替换模板变量后)
ls -la /Users/zhch158/workspace/data/流水分析/B用户_扫描流水/ppstructurev3_client_results/B用户_扫描流水
A:
global.yaml 中是否正确引用了项目配置文件config/ 目录下A:
base_dir 路径是否正确(必须是绝对路径)result_dir 是否存在于 base_dir 下image_dir 的模板变量 {{name}} 是否正确替换A:
{{name}}document.name 是否已定义A:
result_dir 存在tool 标识是否正确(通常与原始工具一致)enabled: trueA:
enabled: true:该数据源会显示在 Streamlit 数据源列表中enabled: false:该数据源不会加载,但配置保留(方便临时禁用)document:
name: "项目名称"
base_dir: "/绝对路径/到/项目根目录"
ocr_results:
- tool: "工具标识"
result_dir: "结果目录名"
image_dir: "图像目录路径"
description: "工具描述"
enabled: true
document:
name: "项目名称"
base_dir: "/绝对路径/到/项目根目录"
ocr_results:
# PPStructV3
- tool: "ppstructv3"
result_dir: "ppstructv3_results"
image_dir: "ppstructv3_results/{{name}}"
description: "PPStructV3 识别结果"
enabled: true
# PaddleOCR-VL
- tool: "paddleocr_vl"
result_dir: "paddleocr_vl_results"
image_dir: "paddleocr_vl_results/{{name}}"
description: "PaddleOCR-VL 识别结果"
enabled: true
# MinerU
- tool: "mineru"
result_dir: "mineru_results"
image_dir: "mineru_results/{{name}}"
description: "MinerU 识别结果"
enabled: true
# Dots OCR
- tool: "dots_ocr"
result_dir: "dotsocr_results"
image_dir: "dotsocr_results/{{name}}"
description: "Dots OCR 识别结果"
enabled: true
document:
name: "项目名称"
base_dir: "/绝对路径/到/项目根目录"
ocr_results:
# 原始结果
- tool: "mineru"
result_dir: "mineru_results"
image_dir: "mineru_results/{{name}}"
description: "MinerU 原始结果"
enabled: true
# 合并结果(带 cell bbox)
- tool: "mineru"
result_dir: "mineru_results_cell_bbox"
image_dir: "mineru_results/{{name}}"
description: "MinerU + PaddleOCR 坐标"
enabled: true
最后更新: 2025年11月7日