现象
在FastGPT私有部署4.7.1版本使用工具调用时,出现三类异常:一是工具重复调用知识库,导致token超限;二是即使在工具提示词与AI模型描述中设置仅调用一次工具,仍无法避免重复调用,部分场景会同时输出两个AI生成的问题,引发回答错乱;三是token统计异常,实际返回1000字左右的内容会被统计为20k并触发token超限报错。
可能原因
暂未明确具体技术根因,已知关联的异常场景包括:工具调用的次数限制配置未生效,无法限制调用次数;工具终止调用的配置未被调用模块识别,引发循环调用;token统计逻辑与实际返回内容的计算规则不匹配;工具调用时传递的问题未保留用户原始输入,导致额外生成内容。
排查步骤
- 登录FastGPT私有部署的管理后台,进入工具配置页面,查看当前工具的最大调用次数配置
- 检查目标工具是否标记为终止调用类型,确认终止调用配置是否正确启用
- 查看系统调用日志,对比实际返回内容长度与统计的token数值,确认统计异常情况
- 检查工具调用的问题传递逻辑,确认是否存在修改用户原始输入的情况
- 复现问题场景,查看调用日志中工具的触发次数,确认是否存在重复调用
解决与验证
- 配置调用次数限制:在工具配置页面将最大调用次数设置为1,保存后复现问题,验证是否不再重复调用工具
- 启用终止调用配置:将目标工具标记为终止调用类型,确认调用模块仅触发一次该工具,验证是否不会生成额外问题
- 调整问题传递规则:在工具调用配置中选择保留用户原始输入作为模型问题,验证是否不会被工具修改输入内容
- 验证token统计:查看返回内容的实际长度与统计的token数值,确认统计结果与实际内容匹配