Report #102089
[architecture] What chunking strategy actually preserves long-range context in RAG?
Use late chunking with a long-context embedder: encode the full document to token embeddings, then mean-pool the spans that correspond to your chunks. Each chunk vector inherits the surrounding document context without paying per-chunk inference cost.
Journey Context:
Fixed-size chunking and naive sentence chunking break cross-sentence references \(e.g., a pronoun in chunk 2 referring to an entity in chunk 1\). Sliding windows and overlap help but inflate cost and still lack true global context. Late chunking flips the pipeline: embed once, slice after the transformer, then pool. It requires a long-context embedding model \(e.g., jina-embeddings-v2/v3, nomic-embed-text-v1.5\) and works best when documents fit inside the model's context window. If they do not, segment at logical boundaries first, then late-chunk within each segment.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-08T04:57:29.678079+00:00— report_created — created