rag-reasoning-eval
Retrieval is Not Enough: Enhancing RAG Reasoning through Test-Time Critique and Optimization — Wei et al. (2025) (arXiv:2504.14858, 2025)
What this evaluates
Evaluates retrieval-augmented reasoning systems on their ability to iteratively refine answers using a critique language model. It probes robustness to noisy retrieval, out-of-distribution generalization, and the effectiveness of contrastive critique synthesis over standard self-refinement baselines.
Datasets
- PopQA — total ?; splits: test (-1)
- TriviaQA — total ?; splits: test (-1)
- NaturalQuestions — total ?; splits: test (-1)
- 2WikiMultihopQA — total ?; splits: test (-1)
- ASQA — total ?; splits: test (-1)
- HotpotQA — total ?; splits: test (-1)
- SQuAD — total ?; splits: test (-1)
Metrics
accuracy (primary) — range: [0, 1]
- Binary score (1 if the final generated answer exactly matches the ground-truth answer, 0 otherwise), averaged over all instances in the dataset.
str-em — range: [0, 1]
- Official string exact-match metric used for ASQA. Scores 1 if the prediction matches the reference string exactly, 0 otherwise.
Input / output format
Input: Question text and top-5 retrieved passages.
Output: Final generated answer string.
Scoring recipe
def compute_metrics(predictions, golds, dataset_name):
scores = []
for pred, gold in zip(predictions, golds):
if dataset_name == 'ASQA':
scores.append(1.0 if pred.strip() == gold.strip() else 0.0)
else:
scores.append(1.0 if pred.strip() == gold.strip() else 0.0)
return sum(scores) / len(scores) if scores else 0.0
Common pitfalls
- ASQA uses string exact match (str-em) instead of standard accuracy, which can penalize valid paraphrases or multi-sentence answers.
- The 'fixed' variant uses exactly 1 refinement iteration, while 'auto' dynamically terminates, making direct comparison of iteration counts misleading.
- Retrieval is strictly limited to Top-5 passages for all experiments, which may not reflect full RAG pipeline performance or optimal retrieval settings.
Evidence (verbatim from paper)
Following previous work[[51]], we adopt the official correctness metric (str-em) for ASQA[[45]], and use accuracy for the other tasks, which measures whether the final generations of the model align with the ground-truth[[41], [52]].
Citation
@misc{wei2025ragreasonalignment,
title={Retrieval is Not Enough: Enhancing RAG Reasoning through Test-Time Critique and Optimization},
author={Wei et al. (2025)},
year={2025},
note={arXiv:2504.14858}
}
1---2name: rag-reasoning-eval3description: Evaluates retrieval-augmented reasoning systems on their ability to iteratively refine answers using a critique language model. It probes robustness to noisy retrieval, out-of-distribution generalization, and the effectiveness of contrastive critique synthesis over standard self-refinement baselines. Use when the user wants to benchmark on PopQA, TriviaQA, NaturalQuestions, 2WikiMultihopQA, ASQA, HotpotQA, SQuAD, or asks about evaluating this task. Reports accuracy.4---56# rag-reasoning-eval78> Retrieval is Not Enough: Enhancing RAG Reasoning through Test-Time Critique and Optimization — Wei et al. (2025) (arXiv:2504.14858, 2025)910## What this evaluates1112Evaluates retrieval-augmented reasoning systems on their ability to iteratively refine answers using a critique language model. It probes robustness to noisy retrieval, out-of-distribution generalization, and the effectiveness of contrastive critique synthesis over standard self-refinement baselines.1314## Datasets1516- **PopQA** — total ?; splits: test (-1)17- **TriviaQA** — total ?; splits: test (-1)18- **NaturalQuestions** — total ?; splits: test (-1)19- **2WikiMultihopQA** — total ?; splits: test (-1)20- **ASQA** — total ?; splits: test (-1)21- **HotpotQA** — total ?; splits: test (-1)22- **SQuAD** — total ?; splits: test (-1)2324## Metrics2526- `accuracy` **(primary)** — range: [0, 1]27 - Binary score (1 if the final generated answer exactly matches the ground-truth answer, 0 otherwise), averaged over all instances in the dataset.28- `str-em` — range: [0, 1]29 - Official string exact-match metric used for ASQA. Scores 1 if the prediction matches the reference string exactly, 0 otherwise.3031## Input / output format3233**Input**: Question text and top-5 retrieved passages.3435**Output**: Final generated answer string.3637## Scoring recipe3839```python40def compute_metrics(predictions, golds, dataset_name):41 scores = []42 for pred, gold in zip(predictions, golds):43 if dataset_name == 'ASQA':44 scores.append(1.0 if pred.strip() == gold.strip() else 0.0)45 else:46 scores.append(1.0 if pred.strip() == gold.strip() else 0.0)47 return sum(scores) / len(scores) if scores else 0.048```4950## Common pitfalls5152- ASQA uses string exact match (str-em) instead of standard accuracy, which can penalize valid paraphrases or multi-sentence answers.53- The 'fixed' variant uses exactly 1 refinement iteration, while 'auto' dynamically terminates, making direct comparison of iteration counts misleading.54- Retrieval is strictly limited to Top-5 passages for all experiments, which may not reflect full RAG pipeline performance or optimal retrieval settings.5556## Evidence (verbatim from paper)5758> Following previous work[[51]], we adopt the official correctness metric (str-em) for ASQA[[45]], and use accuracy for the other tasks, which measures whether the final generations of the model align with the ground-truth[[41], [52]].5960## Citation6162```bibtex63@misc{wei2025ragreasonalignment,64 title={Retrieval is Not Enough: Enhancing RAG Reasoning through Test-Time Critique and Optimization},65 author={Wei et al. (2025)},66 year={2025},67 note={arXiv:2504.14858}68}69```7071- arXiv: 2504.14858