数据解析组件
本章节详细介绍了 HRAG 系统中的数据解析组件。
文档解析
HRAG 支持两种文档解析方法:MinerU 和 Docling。
使用 MinerU 解析文档
Tip
初次使用 MinerU 请下载对应模型文件,操作指南请查看:安装指南的 MinerU 模型下载 部分。
单文档解析
from src.data_parser.mineru_parser import MinerUParser
# 初始化解析器
parser = MinerUParser()
# 解析 PDF 文档
pdf_file_name = "src/resources/pdf/XXX.pdf"
output_dir = "src/resources/pdf/XXXoutput" # 解析后文件路径
parser.process_pdf(pdf_file_name, output_dir)
批量文档解析
from src.data_parser.mineru_pdf_parser import get_pdf_mineru_info
# 解析 PDF 文档
input_path = "src/resources/pdf" # PDF 文件路径,(同解析后文件路径)
get_pdf_mineru_info(input_path)
使用 Docling 解析文档
单文档解析
from src.data_parser.docling_pdf_parser import DoclingPDFParser
# PDF 文件路径
pdf_file_name = "src/resources/pdf/XXX.pdf"
# 解析后文件路径
output_dir = "output"
# 初始化解析器
parser = DoclingPDFParser(pdf_file_name, output_dir)
# 解析 PDF 文档
parser.process_pdf()
批量文档解析
from src.data_processor.converters.challenge_pipeline import Pipeline
# 解析 PDF 文档(默认为 RAG-Challenge 数据)
input_path = "src/resources/data/pdf_reports"
logging.basicConfig(level=logging.INFO)
pdf_reports = Path(input_path).name
root_path = Path(input_path).parent
pipeline = Pipeline(root_path, pdf_reports_dir_name=pdf_reports)
pipeline.parse_pdf_reports_sequential()
pipeline.merge_reports()
pipeline.export_reports_to_markdown()