Coze 知识库上传文档时如果报 code=105000004,还带着向量维度不一致、dense_text_content 这类提示,通常不是文档本身坏了,而是 embedding 配置没对上。公开 issue 里,这一类报错反复出现,社区反馈也基本指向同一个方向:生成向量的维度,和已经建好的 collection 维度不是一套。
如果你是在看 Coze Studio 开源版,官方仓库是 https://github.com/coze-dev/coze-studio。官方 README 强调过,先完成模型和基础组件配置,再去做智能体、工作流和知识库,不然很多问题会在后面集中爆出来。
这个报错到底在说什么
简单说,就是系统期待你传进来的是 2048 维,但你实际送进去的是 1024 维,或者反过来。对向量库来说,这不是“小偏差”,而是格式不匹配,直接就不能写入。问题出在 embedding 模型、请求参数、旧 collection、环境变量这几层的某一层没统一。
最常见的三种原因
- 你换了 embedding 模型,但知识库底层 collection 还是旧维度。
- 你改了 `.env`,但实际跑起来的容器没有吃到新配置。
- 模型返回的实际维度和你以为的维度不一样,导致后面写库时失败。
社群里通常怎么处理
最直接的办法是先把 embedding 维度统一起来,再重新做文档处理。如果知识库已经建过,很多时候不能只改配置,还得重建 collection 或重新导入文档。公开 issue 里有人换过 bge-m3、m3e-base 等模型,但如果底层维度没同步,问题还是会继续出现。
排查时建议你先看三件事:模型配置页里的 embedding 模型,.env 里的维度参数,以及知识库当前 collection 的定义。只要这三处有一处没对齐,就会继续报同类错误。
一句话结论
Coze 知识库的向量维度报错,本质上是“模型输出”和“库的定义”没对齐。先统一 embedding 配置,再考虑重建知识库,通常最省时间。