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

解决FastGPT调用pushData接口知识库QA内容异常问题

调用FastGPT的/api/core/dataset/data/pushData接口时,传入符合格式的QA数据,接口返回code为200且insertLen为1,但实际添加到知识库的QA内容与输入不符。部分场景下单组输入的QA会对应生成多组不匹配的知识库QA数据。例如输入{"q":"可以免费用?

现象

调用FastGPT的/api/core/dataset/data/pushData接口时,传入符合格式的QA数据,接口返回code为200且insertLen为1,但实际添加到知识库的QA内容与输入不符。部分场景下单组输入的QA会对应生成多组不匹配的知识库QA数据。例如输入{"q":"可以免费用?","a":"可以免费用的"},实际入库内容与输入不一致;输入{"q":"有没有优惠","a":"没有优惠,请尽快下手"}后,实际添加了多组不匹配的QA条目。

可能原因

暂未明确官方根因,需结合部署环境与后端日志进一步排查。该问题出现在FastGPT V4.8.6私有部署版本中,接口调用返回成功但实际入库数据异常。

排查步骤

  1. 确认调用的接口路径为/api/core/dataset/data/pushData,检查传入参数是否符合要求:需包含collectionId、trainingMode(固定为qa)、data字段为QA对象数组。
  2. 查看接口完整响应结果,核对insertLen、overToken、repeat、error等字段的实际值,对比输入数据与返回字段信息。
  3. 检索FastGPT后端服务的运行日志,定位接口调用后的数据处理、入库环节的异常日志。
  4. 确认当前部署的FastGPT版本为V4.8.6私有部署版本,排查版本相关的已知异常。

解决与验证

目前暂无官方通用修复方案,可通过以下方式临时排查与验证:

  1. 重新生成目标知识库的collectionId,重新发起符合格式的接口调用,确认是否仍出现数据异常。
  2. 检查输入的data字段中QA内容是否存在特殊字符、转义格式问题,确保输入数据完全符合接口要求。
  3. 若问题持续,可回退至稳定版本或提交官方issue获取支持。验证标准为:发起单组QA的接口调用后,实际入库的QA内容与输入完全一致,且仅生成单组入库数据。

来源:FastGPT GitHub issue