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

解决FastGPT私有部署中知识库分块的dataId校验失败问题

用户在FastGPT私有部署V4.14.10.1版本,基于docker-compose.pg.yml部署环境中,执行新建知识库分块操作时,调用/api/core/dataset/data/insertData接口报错。

现象

用户在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参数,或前端上传环节未正确携带该必填字段。

排查步骤

  1. 抓取调用/api/core/dataset/data/insertData接口的完整请求参数,检查indexes数组内每个元素是否包含dataId字段。
  2. 核对知识库分块的处理逻辑,确认分块生成环节是否正确生成并附带dataId参数。
  3. 检查部署配置是否与官方文档一致,确认数据库表结构是否存在异常,需按实际环境确认。
  4. 复现问题时对比正常分块上传的请求参数,排查参数传递的差异点。

解决与验证

确保在调用/api/core/dataset/data/insertData接口时,为indexes数组中的每个元素正确传入必填的dataId参数。重新执行知识库分块上传操作,验证接口不再报dataId校验错误。同时确认嵌入向量截断操作未影响dataId参数的传递流程,再次验证分块上传成功,知识库可正常生成。

来源:FastGPT GitHub issue