Chunk size is the decision everyone argues about, and rightly so: retrieval quality is sensitive to how documents are split, and the gap between a good and a bad strategy can be several points of recall on the same corpus, as Chroma found when it scored retrieval at the token level rather than the document level Chroma's chunking evaluation. But once chunk size is fixed at, say, 800 tokens, two further dials are still open and they are the ones that actually ship in the request:
- How many chunks to retrieve. Call this K. It controls how much of the answer-bearing text you even have a chance of sending.
- How many tokens of context to send to the generator. This is the budget, bounded by the model's context window and, more tightly, by your latency and cost targets.
These dials interact. Every chunk you retrieve costs retrieval-side work (cheap) and, if you send it, prompt tokens (not cheap, especially on input-side pricing). The practical question is not "what is the best K" but "what is the smallest K that answers nearly as many questions correctly as a much larger K."
Retrieval quality and answer quality are not the same axis. NVIDIA's chunking study measured end-to-end RAG accuracy across multiple datasets and found page-level chunking the most consistent strategy at an average of 0.648 accuracy with the lowest variance, while extreme chunk sizes of 128 and 2,048 tokens generally underperformed NVIDIA's chunking study. That tells you chunk size matters, but it does not tell you how many chunks to send. That is a separate experiment you have to run on your own data.



