问题优化节点
节点说明
在 RAG(Retrieval-Augmented Generation)中,知识库搜索通常仅基于”当前”问题执行 embedding 检索,难以处理上下文连续的提问。
例如,用户在第一次提出”QA结构是什么”后,紧接着提问”第二点是什么”,若仅基于”第二点是什么”去搜索,通常查不到任何有效信息。因此,我们引入问题优化节点,用于补全当前问题,使其具备足够上下文,从而提升知识库搜索的准确性。
节点配置
问题优化节点主要包含三个模块:输入模块、优化配置模块、输出模块。
输入模块
输入模块用于定义并引用其他节点提供的数据,通常包括:
- 当前用户提问内容
- 对话历史上下文(可选)
请在 输入 面板中正确配置字段,以便在优化过程中使用。
优化配置模块
优化模块提供多种策略,用于控制优化行为和模型生成逻辑。
| 配置项 | 说明 |
|---|---|
| 模型 | 选择用于优化问题的大语言模型,例如 Qwen/Qwen2.5-72B-Chat 等 |
| 温度 | 控制输出内容的随机性,温度越高越多样化,默认 0.3 |
| 提示词 | 输入用于引导模型优化问题的提示信息,属于传统提示工程策略 |
| 对话背景 | 通过背景设定,向模型提供更稳定的问题理解语境,帮助模型更准确地重写或补全当前问题 |
| 对话配置 | 用于设置模型回顾上下文的范围,可选择:对话轮次数量(如3轮)或Token长度限制(如300 tokens) |
提示词与对话背景可通过下拉选择方式配置,选择其中之一即可。
输出模块
输出结果字段名为 output,其结构为一个数组,表示优化后的问题列表:
output: [
"优化后问题1",
"优化后问题2",
"优化后问题3",
"优化后问题4"
]
通常,该数组会生成四个语义等价但表达方式不同的问题,用于提升后续知识库检索的召回效果和覆盖率。