现象
FastGPT 4.8.9版本中,上传附件或图片时,使用if条件判断文件链接是否包含txt或jpg的逻辑无法正常生效,无论上传的文件类型是否符合要求,始终执行else分支。同时,单轮对话中每次上传新的文档时,系统会携带之前上传过的所有文档一起参与内容分析。
可能原因
- 文件链接的返回格式为数组类型,直接对数组执行字符串包含判断逻辑无法匹配预期结果;
- 未将文件上传组件的最大文件数量配置项设置为1,导致单轮对话中重复携带历史上传的文件。
排查步骤
- 访问文件上传组件的配置界面,查看最大文件数量的当前配置值;
- 导出或打印文件链接的返回数据,确认其格式是否为数组类型;
- 测试判断逻辑的输入参数,确认其类型与判断逻辑的预期匹配。
解决与验证
针对文件类型判断不生效的问题,将数组类型的文件链接转换为字符串后执行包含判断,或循环遍历数组中的每个元素,逐一判断元素是否包含txt或jpg关键词。针对单轮对话重复分析历史文件的问题,将文件上传组件的最大文件数量设置为1,配置参考官方文档https://doc.fastgpt.in/docs/course/fileinput/。验证修改效果:上传txt或jpg格式的文件后,判断逻辑可正确匹配对应条件分支,且单轮对话仅会携带本次上传的文件参与分析。