查询 Milvus python 客户端返回的 Float8 嵌入

问题描述 投票:0回答:1

我使用 Attu 客户端来管理 Milvus 的数据,所有数据在里面看起来都很好。

但是当我尝试使用 python 客户端查询相同的数据时,我得到的嵌入结果是 float8 格式而不是 float32 格式。

这是为什么呢?检索过程有限制或转换吗?

这是我正在运行的查询的片段:

self.milvusClient.query(
    collection_name='someCollection',
    output_fields=['embedding'],
    filter='objectId in [' +  ','.join(objectIdList) + ']',
    limit=limit
)

这里还有嵌入字段的创建命令的片段:


schema.add_field(field_name="embedding", datatype=DataType.FLOAT_VECTOR, dim=512, is_primary=False, auto_id=False)

index_params.add_index(
    field_name="embedding", 
    index_type="IVF_FLAT",
    metric_type="L2",
    params={
        "nlist": 2048
    }
)

存储值:-0.24403861165046692 检索到的值:-0.24403861

谢谢!

vector-database milvus
1个回答
0
投票

同样的讨论可能会回答以下问题:

简而言之:Float32 值的精度约为 7 位十进制数字。即使是 Float64 值,例如 1.3476964684980388,Milvus 也会将其存储为 1.347696。

© www.soinside.com 2019 - 2024. All rights reserved.