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

解决FastGPT pushData接口返回无dataId字段无法定位数据的问题

调用FastGPT的/api/core/dataset/data/pushData接口创建训练数据推送任务时,接口返回结果仅包含insertLen统计字段,未返回dataId、q、a等单条数据的标识与内容字段。

现象

调用FastGPT的/api/core/dataset/data/pushData接口创建训练数据推送任务时,接口返回结果仅包含insertLen统计字段,未返回dataIdqa等单条数据的标识与内容字段。例如本次请求返回的结果为[{"code":200,"data":{"insertLen":3}}],无法直接通过返回结果定位本次推送的具体数据条目,后续执行单条数据的修改、删除操作时,需重新请求集合数据列表接口进行匹配,操作流程繁琐。

可能原因

目前无明确官方说明该问题的根本诱因,已知该问题出现在私有部署版本V4.14.10.4中,需结合实际部署环境与接口日志进一步确认。

排查步骤

  1. 确认请求的接口地址为http://localhost:3000/api/core/dataset/data/pushData,请求方法为POST,请求头包含Authorization: Bearer ${apikey}Content-Type: application/json
  2. 检查请求体参数,确认包含collectionIdtrainingTypedata等必填字段,且data数组内的对象格式符合要求(可包含qa字段,支持额外添加indexes字段)。
  3. 查看接口返回的JSON结构,确认返回结果的data对象仅包含insertLen字段,无dataIdqa等字段。
  4. 调用集合数据列表接口,获取当前集合的全部数据条目,对比前后数据差异以定位本次推送的记录。

解决与验证

目前该问题的官方修复方案需等待项目版本更新。临时操作与验证方式为:调用集合数据列表接口获取全部数据集内容,通过数据的qa字段内容或创建时间等信息匹配本次推送的记录,再执行后续的修改、删除操作。

来源:FastGPT GitHub issue