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

解决FastGPT私有部署版工具调用错乱与token超限问题

在FastGPT私有部署4.7.1版本使用工具调用时,出现三类异常:一是工具重复调用知识库,导致token超限;二是即使在工具提示词与AI模型描述中设置仅调用一次工具,仍无法避免重复调用,部分场景会同时输出两个AI生成的问题,引发回答错乱;三是token统计异常,实际返回1000字左右的内容会被统计为20k…

现象

在FastGPT私有部署4.7.1版本使用工具调用时,出现三类异常:一是工具重复调用知识库,导致token超限;二是即使在工具提示词与AI模型描述中设置仅调用一次工具,仍无法避免重复调用,部分场景会同时输出两个AI生成的问题,引发回答错乱;三是token统计异常,实际返回1000字左右的内容会被统计为20k并触发token超限报错。

可能原因

暂未明确具体技术根因,已知关联的异常场景包括:工具调用的次数限制配置未生效,无法限制调用次数;工具终止调用的配置未被调用模块识别,引发循环调用;token统计逻辑与实际返回内容的计算规则不匹配;工具调用时传递的问题未保留用户原始输入,导致额外生成内容。

排查步骤

  1. 登录FastGPT私有部署的管理后台,进入工具配置页面,查看当前工具的最大调用次数配置
  2. 检查目标工具是否标记为终止调用类型,确认终止调用配置是否正确启用
  3. 查看系统调用日志,对比实际返回内容长度与统计的token数值,确认统计异常情况
  4. 检查工具调用的问题传递逻辑,确认是否存在修改用户原始输入的情况
  5. 复现问题场景,查看调用日志中工具的触发次数,确认是否存在重复调用

解决与验证

  1. 配置调用次数限制:在工具配置页面将最大调用次数设置为1,保存后复现问题,验证是否不再重复调用工具
  2. 启用终止调用配置:将目标工具标记为终止调用类型,确认调用模块仅触发一次该工具,验证是否不会生成额外问题
  3. 调整问题传递规则:在工具调用配置中选择保留用户原始输入作为模型问题,验证是否不会被工具修改输入内容
  4. 验证token统计:查看返回内容的实际长度与统计的token数值,确认统计结果与实际内容匹配

来源:FastGPT GitHub issue