现象
在FastGPT 4.7.1-alpha私有部署版本及公有云版本中,QueryExtension模块的历史记录拼接逻辑存在错误。模型接收的提示词内,历史记录会显示为\nQ: [object Object]\nA: [object Object],导致模型无法依据历史记录完成查询重写。
可能原因
问题根源为FastGPT/packages/service/core/ai/functions/queryExtension.ts文件第120行的代码逻辑:return ${role}: ${item.value};。由于item.value为对象类型,直接使用模板字符串拼接时,对象会被自动转换为[object Object],最终生成错误格式的历史记录提示词。
排查步骤
- 定位到FastGPT项目的
packages/service/core/ai/functions/queryExtension.ts文件。 - 查看第120行的代码,确认
item.value的数据类型是否为对象。 - 检查历史记录数据传入QueryExtension模块时的原始格式,确认
item.value的结构是否符合预期。
解决与验证
通过提交PR修复该代码逻辑,将item.value转换为可正常拼接的字符串格式。修复完成后,更新或重新部署FastGPT版本。验证时,确认模型接收的提示词内历史记录不再显示[object Object],可正常依据历史记录完成查询重写。具体修复细节需按实际开发环境确认。