现象
用户在FastGPT私有部署V4.14.10.1版本,基于docker-compose.pg.yml部署环境中,执行新建知识库分块操作时,调用/api/core/dataset/data/insertData接口报错。完整报错文本为Validation failed: indexes.1.dataId: Path dataId is required., indexes.2.dataId: Path dataId is required., indexes.3.dataId: Path dataId is required., indexes.4.dataId: Path dataId is required., indexes.5.dataId: Path dataId is required.,同时日志中出现嵌入向量维度超限的警告:Embedding vector dimension exceeded, truncating to 1536。
可能原因
根据报错信息,问题根源为接口请求的indexes数组内多个元素缺失必填的dataId字段。可能的触发场景包括知识库分块处理流程中未正确生成或传递dataId参数,或前端上传环节未正确携带该必填字段。
排查步骤
- 抓取调用
/api/core/dataset/data/insertData接口的完整请求参数,检查indexes数组内每个元素是否包含dataId字段。 - 核对知识库分块的处理逻辑,确认分块生成环节是否正确生成并附带
dataId参数。 - 检查部署配置是否与官方文档一致,确认数据库表结构是否存在异常,需按实际环境确认。
- 复现问题时对比正常分块上传的请求参数,排查参数传递的差异点。
解决与验证
确保在调用/api/core/dataset/data/insertData接口时,为indexes数组中的每个元素正确传入必填的dataId参数。重新执行知识库分块上传操作,验证接口不再报dataId校验错误。同时确认嵌入向量截断操作未影响dataId参数的传递流程,再次验证分块上传成功,知识库可正常生成。