现象
在FastGPT私有部署V4.11.1版本中,配置了知识库搜索节点且启用重排模型的工作流,会出现第二轮对话将第一轮对话的AI回答作为重排搜索输入内容的问题。例如知识库中存在预设问答对:Q=谢谢,A=不客气呢,有其他问题随时联系我哈~,搭建包含该知识库搜索节点的工作流后,第一轮提问该AI回答对应的内容,第二轮提问无关问题时,重排搜索仍使用第一轮的AI回答作为输入,导致最终引用错误的历史AI回答内容,不符合预期的搜索逻辑。
可能原因
暂未明确官方定义的根因,根据问题现象可判断,该问题源于工作流的对话上下文传递逻辑异常,错误将历史对话中生成的AI回答内容,纳入了知识库搜索重排模型的输入参数中,仅使用当前用户的提问内容作为重排输入的逻辑未被正确执行。
排查步骤
- 确认当前使用的FastGPT版本为V4.11.1私有部署版本。
- 检查目标工作流中的知识库搜索节点配置,确认已启用重排模型功能。
- 按照问题描述的复现步骤测试:先发起第一轮提问,触发包含AI回答的对话流程,再发起第二轮与第一轮内容无关的提问,查看重排搜索的实际输入内容与引用结果。
- 对比重排搜索的实际输入与预期输入,确认是否存在历史AI回答被混入的情况。
解决与验证
需根据实际工作流的上下文配置进行调整,确保知识库搜索重排模型的输入仅包含当前用户的提问内容,排除历史对话中的AI回答内容。验证时,复现原问题的测试场景,发起第二轮提问后,查看知识库搜索重排的输入是否仅为当前用户问题,引用的知识库内容是否符合预期,确认问题已解决。