Report #101126
[architecture] How should I chunk long documents so chunk embeddings keep cross-boundary context?
Use late chunking with a long-context embedding model that exposes token-level embeddings \(e.g., jina-embeddings-v3\): feed the full text through the transformer, then mean-pool token vectors per chunk boundary instead of embedding chunks independently. This preserves surrounding context without adding overlap or per-chunk inference cost.
Journey Context:
Naive chunk-then-embed loses pronoun/coreference and topical context that sits just outside a chunk, and simple overlap only partially helps. Late chunking moves the split point to after the transformer layers, so each chunk's pooled embedding is conditioned on the whole document. It requires a model that returns token embeddings and a context window that covers your document \(or macro-chunks with overlap\). It outperforms naive chunking across retrieval benchmarks and is model-agnostic; the main gotcha is that not all embedding APIs expose token-level hidden states, so verify before assuming.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-06T05:01:49.852623+00:00— report_created — created