论文:https://arxiv.org/pdf/2305.15294
Step 1: 明确工作流结构
我们先来回顾论文提出的 IterRetGen 原始流程结构图:

- 模型每轮生成的答案会与原始问题拼接,作为下一轮检索的查询。
- 该过程按照设定的最大循环次数执行 N 次
- 除了 prompt 和 custom 两个模块需自定义实现,其他功能均可直接复用 UltraRAG 内置工具。
Step 2: 实现必要 Tool
IterRetGen 通过拼接查询 query 和当前轮次生成的答案作为本轮查询,为此在servers/custom/src/custom.py
中添加如下代码:
servers/custom/src/custom.py
Step 3: 编写 Pipeline 配置文件
在examples/
目录下新建一个 YAML 文件,如 IterRetGen.yaml
:
Step 4:配置 Pipeline参数
执行下列命令:examples/parameter/IterRetGen_parameter.yaml
,修改如下配置: