Chroma报错chromadb.errors.InvalidArgumentError: Collection expecting embedding with dimension of 1024,

发布时间:2026/6/30 2:33:22
Chroma报错chromadb.errors.InvalidArgumentError: Collection expecting embedding with dimension of 1024, 如标题所示在使用Chroma存储数据到向量库中后进行检索操作报错报错内容为chromadb.errors.InvalidArgumentError: Collection expecting embedding with dimension of 1024, got 1536但这个错误在我把模型从text-embedding-v1切换为text-embedding-v4就可以正常运行输出了经过查阅相关资料后终于找到了问题的原因**核心原因在于 Chroma 向量数据库对嵌入向量维度的约束。首先可以查看下列表格模型名称向量维度说明text-embedding-v11536固定维度不可调整text-embedding-v21536固定维度不可调整text-embedding-v31024 (默认), 768, 512, 256, 128, 64支持自定义维度默认值为1024text-embedding-v42048, 1536, 1024 (默认), 768, 512, 256, 128, 64维度选择最灵活支持从64到2048的多种预设维度默认值为1024text-embedding-async-v11536异步版本固定维度不可调整text-embedding-async-v21536异步版本固定维度不可调整通过表格可以看到不同的模型名称的向量维度不同而Chroma 向量数据库是持久化的我在把数据存储到Chroma向量数据库时使用的是text-embedding-v4从而存入的向量维度为1024默认值但由于后期我的阿里云千问的text-embedding-v4免费额度用完了改用text-embedding-v1读取此时就出现了问题。因此要解决这个问题Chroma 向量数据库存储和检索必须使用同一模型的同一向量维度。在这里我选择删除旧的 Chroma 数据库用 text-embedding-v1 重新创建然后重新运行。