STRUCTURE-AWARE · MULTI-VIEW · EVIDENCE-GROUNDED

让复杂 PDF 的文本、图表与回答,回到同一条证据链。

DualStruct 是一个结构感知的多模态文档 RAG 研究工作台。它将 Parser 输出冻结为稳定 IR,用 RetrievalUnit 统一 Text、Visual 与 Sparse 索引身份,再把每次命中回映到 Chunk、Figure、Table、Page 与 BBox。

临时公网演示 · 固定共享语料 · 请勿提交隐私或业务数据

SYSTEM MAPLIVE PIPELINE
INPUTComplex PDFText · Figure · Table · Layout
STABLE CONTRACTDualStruct IRParser-neutral document structure
LOCATORRetrievalUnitSource · View · Target
TEXT DENSEVISUAL DENSEFTS5
OUTPUTEvidence + CitationChunk · Element · Page · BBox
15BENCHMARK PDFS
75LABELED CASES
990TEXT UNITS
312VISUAL UNITS

WHY DUALSTRUCT

普通 Text RAG 丢掉的,正是复杂文档最重要的部分。

01

结构边界

章节、段落、Figure、Table 和 Caption 具有不同语义,统一字符串切片无法稳定保留它们之间的关系。

02

多视图身份

同一 Figure 同时拥有 Caption/OCR Text View 与 Image Visual View,需要跨索引去重并聚合回同一业务对象。

03

证据回映

向量命中只是搜索记录。最终回答还需要定位到原始 Element、页码、坐标与图片资产。

ARCHITECTURE

四层检索索引,把事实、身份与搜索结构分开。

应用索引架构负责“索引什么、如何回到业务对象”;Milvus、FTS5 与 HNSW/FLAT 负责“如何存储与搜索”。

01
SOURCE OF TRUTH

事实数据

Document · Section · Element · Chunk · Asset

SQLite / Filesystem
02
IDENTITY & LOCATOR

检索身份

retrieval_unit_id · Source · View · Target

RetrievalUnit
03
SEARCHABLE RECORD

可搜索记录

Vector + Unit ID · Indexed Text + Unit ID

Milvus / FTS5
04
PHYSICAL INDEX

物理搜索结构

Vector Search · Inverted Index · B-Tree

Storage Engine

CORE DESIGN

五个可以独立解释,又在一条链路中闭环的设计。

01 / IR

Parser-neutral IR

MinerU、Docling 等上游通过 Adapter 进入稳定文档结构,检索系统不跟随 Provider Schema 演化。

02 / CHUNK

Structure-aware Chunking

Chunk 不跨 Section;Figure/Table 保持 Atomic;普通长文本采用 Target/Max 与完整 Element Overlap。

03 / LOCATOR

RetrievalUnit

Source/View/Target 解耦被索引输入与最终业务结果,让 Text、Visual 和 Sparse 命中共享统一 Locator。

04 / FUSION

Target-level RRF

三分支并发检索后先聚合到业务 Target,再执行 RRF 与 Reranker,并保留 Rank/Score Trace。

05 / EVIDENCE

Citation Guard

Context Budget、Neighbor Expansion 与 Element Span Citation 共用证据包;未知引用标签在应用层被拒绝。

STRUCTURED RAG
可替换的是 Parser、Embedding 与 Provider;稳定的是 IR、RetrievalUnit、Evidence 和 Citation。

CONTROLLED EVALUATION

比较系统,也拆开 Reranker 的贡献。

同一 Development Split、同一 25 Cases、同一 Qwen3 Reranker,组成完整 2×2 Attribution Matrix。

ARM A

Naive Dense

0.693RECALL@5
ARM B

Naive + Rerank

0.893RECALL@5
ARM C

DualStruct Hybrid

0.867RECALL@5
ARM D

DualStruct Full

0.907RECALL@5
Attribution, not a single headline score.

无 Reranker 的 A→C 显示结构化 Hybrid/RRF 对前排召回与多证据完整性有价值;B→D 说明加入相同 Reranker 后总体结果不再是单向胜负。实验保留 Case、配置指纹和失败记录。

DualStruct Evaluation Dashboard,展示四个受控实验分支与指标归因
PRODUCT SURFACE / EVALUATION DASHBOARD4 clean arms · 25 development cases

IMPLEMENTATION

研究问题落到可运行的工程边界。

APPLICATION

FastAPI · UseCase · Port

Feature-based 六边形模块、Composition Root、Request DI、UoW 与后台任务状态。

RETRIEVAL

Milvus Lite · SQLite FTS5

Text/Visual 独立 Embedding Space,统一 RetrievalUnit Locator 与 Target-level Fusion。

MODELS

Qwen3 · DeepSeek · OpenAI-compatible

Embedding、Multimodal Embedding、Reranker 与 ChatModel 通过独立 Port/Adapter 接入。

DELIVERY

React · OpenAPI · Docker

Typed Contract、Retrieval Workbench、Evaluation Dashboard 与可复现 `linux/amd64` 部署。

EXPLORE THE SYSTEM

从一次 Query,查看检索、融合、精排与引用如何发生。