ai相关:milvus:报错:pymilvus.exceptions.MilvusException: <MilvusException: (code=65535, message=the length(1024) of float data should divide the dim(1536))>

一,报错信息:

pymilvus.exceptions.MilvusException: <MilvusException: (code=65535, message=the length(1024) of float data should divide the dim(1536))>

二,原因

现这个报错的原因非常明确:传入 Milvus 的向量维度(1024)与 Milvus Collection 在创建时定义的维度(1536)不一致。

报错原因分析

报错信息拆解:

the length(1024) of float data should divide the dim(1536)

  • length(1024):你的 Embedding 模型(例如通义千问)实际生成并传入的向量维度是 1024

  • dim(1536):Milvus 中对应的 Collection 设定的向量维度是 1536

这通常是因为:

  1. 使用了通义千问的 text-embedding-v3 模型(它的默认维度是 1024),但你在代码的 MilvusVectorStore(dim=1536) 中填了 1536

  2. 之前的旧 Collection 是按 1536 维创建的,后来更换了模型或修改了模型参数,导致维度对不上。

三,解决:

修改代码:

修改 MilvusVectorStore 的 dim 参数为 1024

如果你使用的是 text-embedding-v3,其默认向量维度就是 1024。

直接在代码中将 dim 修改为 1024

例子:

# 1. 初始化 Milvus 向量存储
vector_store = MilvusVectorStore(
    uri="http://localhost:19530",   # Milvus 服务地址(若使用本地轻量版,可写为 "./milvus_demo.db")
    collection_name="ai_service_docs", # 指定 Collection 名字
    dim=1024,                       # 向量维度(需与使用的 Embedding 模型维度一致)
    overwrite=True                 # 是否覆盖已存在的 collection
)

 

posted @ 2026-08-08 16:30  刘宏缔的架构森林  阅读(20)  评论(0)    收藏  举报