The Bottleneck Is Retrieval, Not Reading: Diagnosing Evidence-Based Generation with RAG for Long Context Question Answering
Organizations: Inception42 · MBZUAI
Abstract
Retrieval-augmented generation (RAG) is the dominant paradigm for grounding large language models in external corpora, but its similarity-driven, chunked pipeline has structural blind spots: it cannot anticipate which passages a question requires and discards document-level context that resolves cross-passage references. We introduce evidence-based generation (EBG), requiring models to return an answer with line-level citations, and a joint Ans+Evid metric that scores correctness and grounding simultaneously. We reformulate two corpora into evidence-grounded multi-document QA benchmarks- MultiHop-RAG and QASPER-MP, a multi-paper adaptation of QASPER with realistic short paper cues, and pair them with a controlled synthetic two-hop haystack and an evidence-augmented NoLiMa spanning 10K-1M characters. Across ten proprietary frontier and three open-weight LLMs, EBG isolates two RAG limitations that long-context models avoid: similarity retrieval surfaces any relevant chunk far more reliably than all required chunks for multi-fact queries, and chunking destroys document meta-information needed to resolve identity-bearing queries. EBG also exposes grounding failures invisible to answer-only evaluation, including incomplete citations in two-needle settings and a widening gap between Ans and Ans+Evid when context contradicts parametric knowledge. Data and code are available at https://github.com/debobanerjee/LC-EBG.
Figures & tables
| Model | LC | flat@3 | struct@3 | LC (best) |
|---|---|---|---|---|
| GPT-5 | 0.605 | 0.500 | 0.553 | |
| GPT-5.5 | 0.671 | 0.500 | 0.539 | |
| Opus-4.6 | 0.697 | 0.474 | 0.566 | |
| Sonnet-4.5 | 0.592 | 0.513 | 0.474 | |
| Gemini-3-Fl | 0.658 | 0.487 | 0.539 |
Appendix figures & tables26 assets
Supplementary material from the paper’s appendix.
Appendix
| Variant | Needle Template |
|---|---|
| Original NoLiMa primary needles (under SN) | |
| 0402 | “A message came in from { CHAR } saying, ‘I’m lactose intolerant,’ and nothing more.” |
| 0402Inv | “A message came in saying, ‘I’m lactose intolerant,’ from { CHAR } .” |
| 0405 | “Then { CHAR } mentioned that he has been vegan for years.” |
| 0405Inv | “There was a vegan guest, named { CHAR } .” |
| Gender neutral rephrased primary needle (under SN) | |
| Model | Ans | ||
|---|---|---|---|
| (ans-only) | (EBG) | ||
| GPT-5 | 82.0% | 86.0% | pp |
| Claude Sonnet-4.5 | 68.0% | 82.0% | pp |
| Gemini-3-Flash | 80.0% | 78.0% | pp |
| Config | H@1 | H@4 | H@10 | H@50 | H@100 | MAP@10 |
|---|---|---|---|---|---|---|
| any gold | ||||||
| small + sent. | 0.29 | 0.52 | 0.67 | 0.90 | 0.95 | 0.22 |
| small + tok256 | 0.27 | 0.59 | 0.80 | 0.97 | 0.99 | 0.24 |
| large + sent. | 0.32 | 0.55 | 0.71 | 0.94 | 0.97 | 0.24 |
| large + tok256 | 0.33 | 0.66 | 0.82 | 0.98 | 1.00 | 0.27 |
| all gold (faithful-RAG ceiling) | ||||||
| % queries w/ all needles | % gold facts retrieved | |
|---|---|---|
| 4 | 14.0% | 36.3% |
| 10 | 28.0% | 49.6% |
| 25 | 44.0% | 68.1% |
| 50 | 58.0% | 76.3% |
| 100 | 64.0% | 84.4% |
| 200 | 90.0% | 96.3% |
| Model | Metric | LC (oracle) | RAG@4 | RAG@10 | RAG@25 | RAG@50 | RAG@100 | RAG@200 |
|---|---|---|---|---|---|---|---|---|
| Answer-only prompt ( / Joint Ans) | ||||||||
| GPT-5 | Ans | 82.0 | 58.0 | 60.0 | 70.0 | 72.0 | 74.0 | 78.0 |
| Sonnet-4.5 | Ans | 68.0 | 24.0 | 36.0 | 38.0 | 56.0 | 58.0 | 68.0 |
| Gemini-3-Flash | Ans | 80.0 | 38.0 | 44.0 | 50.0 | 58.0 | 58.0 | 70.0 |
| EBG prompt : Ans / Evid (strict) / Joint | ||||||||
| GPT-5 | Ans | 86.0 | 58.0 | 60.0 | 64.0 | 72.0 | 76.0 | 76.0 |
| Model | Metric | LC (oracle) | RAG@10 | RAG@200 |
|---|---|---|---|---|
| Answer-only prompt ( ) | ||||
| GPT-OSS-120B | Ans | 75.0 | 47.5 | 67.5 |
| GLM-5.2 | Ans | 88.0 | 53.0 | 72.5 |
| Nemo-3.5-L | Ans | 75.5 | 43.5 | 51.0 |
| EBG prompt : Ans / Evid (strict) / Joint | ||||
| GPT-OSS-120B | Ans | 54.0 | 41.5 | 52.0 |
| Model | Condition | Ans-F1 | Evid-F1 | Judge | |
|---|---|---|---|---|---|
| GPT-5 | LC | 50 | 0.377 | 0.415 | 0.480 |
| GPT-5 | flat_pool11@3 | 50 | 0.357 | 0.543 | 0.460 |
| GPT-5 | struct_pool11@3 | 50 | 0.437 | 0.607 | 0.550 |
| GPT-5.5 | LC | 50 | 0.378 | 0.433 | 0.530 |
| GPT-5.5 | flat_pool11@3 | 50 | 0.386 | 0.560 | 0.460 |
| GPT-5.5 | struct_pool11@3 | 50 | 0.419 | 0.600 | 0.490 |
| Answerable ( ) | Unanswerable ( ) | ||||||
|---|---|---|---|---|---|---|---|
| Model | Condition | Judge | Ans-F1 | Refuse % | Judge | Ans-F1 | Refuse % |
| GPT-5 | LC | 0.605 | 0.469 | 15.8 | 0.083 | 0.083 | 33.3 |
| GPT-5 | flat_pool11@3 | 0.500 | 0.364 | 31.6 | 0.333 | 0.333 | 58.3 |
| GPT-5 | struct_pool11@3 | 0.553 | 0.390 | 31.6 | 0.583 | 0.583 | 66.7 |
| GPT-5.5 | LC | 0.671 | 0.471 | 13.2 | 0.083 | 0.083 | 16.7 |
| GPT-5.5 | flat_pool11@3 | 0.500 | 0.402 | 23.7 | 0.333 | 0.333 | 41.7 |
| Answerable ( ) | Unanswerable ( ) | ||||||
|---|---|---|---|---|---|---|---|
| Model | Condition | Judge | Ans-F1 | Refuse % | Judge | Ans-F1 | Refuse % |
| GPT-OSS-120B | LC | 0.701 | 0.467 | 8.7 | 0.500 | 0.475 | 42.0 |
| GPT-OSS-120B | flat_pool11@3 | 0.497 | 0.388 | 32.7 | 0.660 | 0.666 | 64.0 |
| GPT-OSS-120B | struct_pool11@3 | 0.537 | 0.418 | 24.7 | 0.640 | 0.646 | 62.0 |
| GPT-OSS-120B | flat_full@10 | 0.497 | 0.369 | 28.0 | 0.670 | 0.661 | 64.0 |
| GLM-5.2 | LC | 0.735 | 0.553 | 6.7 | 0.500 | 0.457 | 36.0 |
| full@10 plain | full@10 meta | ||||
|---|---|---|---|---|---|
| Model | LC | Judge | Ref% | Judge | Ref% |
| GPT-5 | 0.757 | 0.473 | 27 | 0.607 | 20 |
| Sonnet-4.5 | 0.623 | 0.490 | 29 | 0.587 | 24 |
| GPT-OSS-120B | 0.701 | 0.497 | 28 | 0.623 | 19 |
| GLM-5.2 | 0.735 | 0.497 | 30 | 0.597 | 23 |
| Nemotron-3.5-30B | 0.523 | 0.433 | 23 | 0.467 | 17 |
| Context Length | |||||||||||||||||||
| 10K | 20K | 30K | 40K | 50K | 60K | 70K | 80K | 90K | 100K | 200K | 300K | 400K | 500K | 600K | 700K | 800K | 900K | 1M | |
| # Vectors | 66 | 124 | 173 | 247 | 297 | 381 | 395 | 470 | 513 | 584 | 1,179 | 1,739 | 2,275 | 2,852 | 3,468 | 4,034 | 4,658 | 5,247 | 5,730 |
| Full-coverage (one-hop) | |||||||||||||||||||
| # Vectors ( ) | 2 | 4 | 4 | 4 | 4 | 9 | 11 | 8 | 9 | 10 | 20 | 35 | 43 | 48 | 59 | 62 | 83 | 92 | 96 |
| Chars ( ) | 350 | 823 | 818 | 607 | 584 | 1,902 | 2,343 | 1,876 | 1,985 | 2,452 | 4,725 | 7,126 | 8,244 | 11,548 | 12,410 | 13,981 | 17,771 | 20,234 | 22,910 |
| Full-coverage (two-hop) | |||||||||||||||||||
| Context Length | |||||||||||||||||||
| 10K | 20K | 30K | 40K | 50K | 60K | 70K | 80K | 90K | 100K | 200K | 300K | 400K | 500K | 600K | 700K | 800K | 900K | 1M | |
| # Vectors | 71 | 135 | 169 | 226 | 290 | 392 | 407 | 453 | 515 | 542 | 1,161 | 1,775 | 2,319 | 2,858 | 3,502 | 4,086 | 4,641 | 5,229 | 5,671 |
| Full-coverage (one-hop) | |||||||||||||||||||
| Embedding-RAG | |||||||||||||||||||
| # Vectors ( ) | 2 | 4 | 4 | 3 | 1 | 11 | 13 | 4 | 7 | 14 | 17 | 41 | 57 | 48 | 68 | 45 | 90 | 94 | 104 |
| Chars ( ) | 118 | 850 | 758 | 363 | 62 | 1,556 | 2,258 | 1,415 | 1,721 | 3,284 | 4,985 | 7,879 | 10,185 | 11,106 | 12,182 | 9,589 | 18,310 | 22,216 | 23,589 |
| LC | Full-coverage ( ) | LC (matched) | |
|---|---|---|---|
| (Chars) | (Vectors) | (Chars) | (Chars) |
| 200K | 176 | 45,742 | 50K |
| 400K | 340 | 72,493 | 70K |
| 500K | 422 | 93,694 | 90K |
| 600K | 530 | 113,052 | 100K |
| 1M | 920 | 217,152 | 200K |
| 50K | 70K | 90K | 100K | 200K | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Model | Emb-RAG | Reranker-RAG | Emb-RAG | Reranker-RAG | Emb-RAG | Reranker-RAG | Emb-RAG | Reranker-RAG | Emb-RAG | Reranker-RAG |
| Sonnet-4.5 | 100.0 | 100.0 | 87.5 | 100.0 | 75.0 | 100.0 | 75.0 | 100.0 | 75.0 | 87.5 |
| GPT-4.1 | 75.0 | 100.0 | 75.0 | 87.5 | 62.5 | 87.5 | 87.5 | 75.0 | 75.0 | 87.5 |
| GLM-5.2 | 62.5 | 50.0 | 62.5 | 75.0 | 75.0 | 75.0 | 50.0 | 75.0 | 50.0 | 75.0 |
| GPT-OSS-120B | 62.5 | 75.0 | 75.0 | 87.5 | 87.5 | 87.5 | 62.5 | 100.0 | 50.0 | 87.5 |
| Dataset | Source | License | Eligible / Constructed Pool | Samples Used |
|---|---|---|---|---|
| Synthetic | Ours | CC BY 4.0 | 66,834 distractor facts; 10 two-hop needles | 100 |
| NoLiMa -based | Modarressi et al. (2025) | Adobe Research License | 4 needle variants 4 insertion depths | 16 |
| MultiHop-RAG | Tang and Yang (2024) | ODC-By | 2,255 answerable queries | 50, 200 |
| QASPER-MP | Dasigi et al. (2021) | CC BY 4.0 | Dev split: 1,005 questions over 281 papers | 50, 200 |
| Model | Provider | Source URL | License |
| GPT-4o | OpenAI | https://platform.openai.com/docs/models/gpt-4o | Proprietary |
| GPT-4.1 | OpenAI | https://platform.openai.com/docs/models/gpt-4.1 | Proprietary |
| o3-mini | OpenAI | https://platform.openai.com/docs/models/o3-mini | Proprietary |
| GPT-5 | OpenAI | https://platform.openai.com/docs/models/gpt-5 | Proprietary |
| GPT-5.5 | OpenAI | https://platform.openai.com/docs/models/gpt-5.5 | Proprietary |
| Sonnet-4 | Anthropic | https://www.anthropic.com/claude/sonnet | Proprietary |
RAG Evaluation
Retrieval-augmented generation (RAG) evaluation measures how well systems retrieve, use, and cite evidence while balancing reliability, cost, and speed.
See all 352 papers