现象
私有部署v4.14.3版本中,调用/api/core/dataset/collection/create/localFile接口上传本地文件至知识库,可提交成功但训练异常,报错信息为datasetId is required for S3 files。该问题在11月20日前未出现,12月1日首次触发。手动导入本地文件至知识库可正常提交并完成训练。
可能原因
该问题的具体根因未在当前issue中明确,结合报错信息与场景对比,推测接口在处理本地文件上传请求时,未正确匹配本地文件的参数校验逻辑,误触发了S3文件上传的datasetId校验规则。需通过服务端接口日志进一步确认根因。
排查步骤
- 确认当前使用的FastGPT版本为私有部署v4.14.3。
- 检查调用接口时的请求参数,确认
data字段的JSON结构中包含datasetId、parentId等必填参数。 - 核对完整报错信息是否为
datasetId is required for S3 files,排除其他参数错误导致的异常。 - 查看服务端接口日志,确认接口是否正确解析了请求中的
data参数与文件内容。 - 对比手动导入与接口调用的请求差异,确认接口请求的格式是否符合要求。
解决与验证
- 修正本地文件上传请求的
Content-Type类型,使其与实际上传的文件类型匹配。 - 确保
multipart/form-data请求中data字段的JSON格式正确,包含所有必填参数。 - 重新调用
/api/core/dataset/collection/create/localFile接口上传文件,验证训练流程是否正常完成。 - 若问题仍未解决,需结合服务端日志进一步排查参数解析逻辑。