Paper: https://arxiv.org/pdf/2212.10509The core idea of IRCoT is: in each round, the model generates new reasoning content (CoT) based on the currently retrieved documents, historical reasoning chains, and the question, and triggers the next round of retrieval accordingly. This alternating loop can continuously deepen the reasoning until a termination condition is met (e.g., the final answer has been generated). Therefore, it requires effective recording and accessing of multi-round intermediate results — this is exactly where the Memory mechanism in UltraRAG comes into play.
memory_
to the variable name to access the intermediate results of each previous iteration.
prompt/IRCoT.jinja
, sample as follows:
examples/parameter/IRCoT_parameter.yaml
with the following content: