现象
调用FastGPT的/api/core/dataset/data/pushData接口创建训练数据推送任务时,接口返回结果仅包含insertLen统计字段,未返回dataId、q、a等单条数据的标识与内容字段。例如本次请求返回的结果为[{"code":200,"data":{"insertLen":3}}],无法直接通过返回结果定位本次推送的具体数据条目,后续执行单条数据的修改、删除操作时,需重新请求集合数据列表接口进行匹配,操作流程繁琐。
可能原因
目前无明确官方说明该问题的根本诱因,已知该问题出现在私有部署版本V4.14.10.4中,需结合实际部署环境与接口日志进一步确认。
排查步骤
- 确认请求的接口地址为
http://localhost:3000/api/core/dataset/data/pushData,请求方法为POST,请求头包含Authorization: Bearer ${apikey}与Content-Type: application/json。 - 检查请求体参数,确认包含
collectionId、trainingType、data等必填字段,且data数组内的对象格式符合要求(可包含q、a字段,支持额外添加indexes字段)。 - 查看接口返回的JSON结构,确认返回结果的
data对象仅包含insertLen字段,无dataId、q、a等字段。 - 调用集合数据列表接口,获取当前集合的全部数据条目,对比前后数据差异以定位本次推送的记录。
解决与验证
目前该问题的官方修复方案需等待项目版本更新。临时操作与验证方式为:调用集合数据列表接口获取全部数据集内容,通过数据的q、a字段内容或创建时间等信息匹配本次推送的记录,再执行后续的修改、删除操作。