故障排查GitHub issue2 分钟阅读排错/错误码

解决FastGPT多轮对话中工具调用结果未纳入上下文的问题

多轮对话场景中,工具调用返回的结果未被纳入上下文。例如存在获取餐厅名称与地址的工具,第一轮用户询问有哪些推荐的餐厅时,AI调用工具并仅返回餐厅名称;第二轮用户询问这些餐厅的地址时,AI会杜撰地址内容,无法基于第一轮的工具调用结果生成正确回答。

现象

多轮对话场景中,工具调用返回的结果未被纳入上下文。例如存在获取餐厅名称与地址的工具,第一轮用户询问有哪些推荐的餐厅时,AI调用工具并仅返回餐厅名称;第二轮用户询问这些餐厅的地址时,AI会杜撰地址内容,无法基于第一轮的工具调用结果生成正确回答。

可能原因

当前未明确配置或机制自动将工具调用结果纳入多轮对话上下文,具体的配置项与逻辑需按实际环境确认。

排查步骤

  1. 需按实际环境确认多轮对话上下文的内容范围与收录规则。
  2. 需按实际环境确认工具调用结果的传递与存储逻辑。
  3. 需按实际环境确认对话流程中是否存在过滤工具结果的配置。

解决与验证

可将工具调用结果直接回复至对话中;若需隐藏结果,可使用mermaid的注释语法包裹结果内容。验证方式为发起两轮对话,确认第二轮对话可基于第一轮工具调用结果生成正确回答。该方案为当前线程中提及的临时解决方式,部分场景下需根据实际对话环境调整使用方式。

来源: FastGPT GitHub issue #4916