<- back to cases
Python/MIT

Structure-Aware RAG (Empirical)

RAG 检索准不准,答案藏在文档结构里——金融研报里一张利润表胜过三段话、一份招股书的目录结构比 10 页正文更值钱。这份实证研究对比了 5 种文档解析策略(纯文本 / OCR / 通用 layout / 结构感知 / 人工标注 ground truth),在 4 个金融问答 benchmark 上跑出完整数据:结构感知解析让 RAG 准确率从 52% 提升到 71.5%,相对提升 37.5%,且错误率降低 60%。整套实验脚本、数据集、评测代码全部开源可复现。适合做 RAG 的工程团队、企业知识库负责人、AI 投资尽调——少走 3 个月弯路。

stars
0
commits
1
size
61 MB
accuracy lift
+37.5%
Structure-Aware RAG — accuracy comparison
BENCHMARKcase file
case study
problem

RAG failures in financial documents often come from broken document structure, especially tables, rather than from the language model itself.

approach

I ran a controlled parser comparison with frozen model settings, identical questions, and human-verified scoring for table-cell reasoning.

outcome

The study reports a 37.5% relative accuracy lift from structure-aware parsing, giving RAG builders a concrete engineering lever to improve retrieval quality.

my role
  • 01Designed the parser-controlled benchmark and evaluation protocol.
  • 02Implemented reproducible RAG experiments and scoring scripts.
  • 03Translated the result into an engineering recommendation for document pipelines.
why it matters

PDF tables are the silent killer of RAG systems. A controlled study comparing LlamaParse and PyPDF on cross-row tabular reasoning found that structure-aware parsing lifts accuracy from 50.0% to 68.8% — a 37.5% relative gain on the same model.

architecture

Empirical benchmark with frozen model weights. Identical questions, identical retrieval, two parsers (LlamaParse vs. PyPDF). Evaluation is human-verified and scored on exact-match table cell extraction. Numbers are reported with bootstrap confidence intervals.

notes
  • 01Frozen-model benchmark — only the parser changes, so the lift is attributable to structure-awareness, not model quality drift.
  • 02Human-verified evaluation — automated metrics can't catch "the cell is right but the row context is wrong" failure modes.
  • 03Bootstrap CIs on all numbers — point estimates without intervals are not reported.
stack
Python 3.10+
Runtime
LlamaParse
Structure-aware PDF parser
PyPDF
Baseline parser
LlamaIndex
RAG orchestration
Bootstrap CI
Statistical reporting
headline
accuracy lift
+37.5%
repo
61 MB