TreeRAG: Retrieval Procedure
① a tree, no traversal
→
② score-based, both ways
→
③ LLM-guided instead
→
④ traversal learned
→
⑤ multimodal
0 · intent check
LLM, once per query
"does it ask to list
or summarize?"
yes
no · skip the traversal entirely: the initial top-K chunks go straight to the reader
1 · initial retrieval (top-K)
root
§ A
§ B
chunk
chunk
hit ★
chunk
embeddings hit leaf chunks
each chunk was embedded with its
ancestor-title prefix (from BUILD)
2 · up one hop
→
3 · all its leaves
root
✗
no higher
§ A
§ B
chunk
chunk
hit ★
sibling
stops at the immediate parent
collects every leaf beneath it
repeated for each of the K hits · no iteration
4 · re-rank → final chunk set
hit chunk ★
sibling chunk
sibling chunk
leaf chunks only, re-ranked
parents · summaries never returned
→ handed to the reader
a single pass, no iteration: each hit gets
one hop up
+
one leaf expansion
, then re-rank and stop · nothing is revisited
12 / 32