Q:milvus 应用 l2 欧式间隔计算向量的间隔,计算出来的间隔的最大值是多少?
A:归一化之后,最大值是4

Q:归一化的是怎么操作的?调用 collection.search 之后取得的向量,曾经是归一化了吗?还是须要本人对 milvus 的搜寻后果再做归一化?

A:须要本人的对向量做归一化

Q:有样例代码吗
A:能够用np.linalg.norm

Q:归一化是查问之前做,还是获取查问后果后,对间隔做归一化?
A:查问之前做,查问的向量,和入底库的向量,都须要做归一化


import numpy as npimport milvus# 连贯 Milvus 服务器client = milvus.Milvus(host='localhost', port='19530')# 定义查问向量query_vector = np.array([0.1, 0.2, 0.3, 0.4, 0.5], dtype=np.float32)# 查问向量归一化query_vector_norm = query_vector / np.linalg.norm(query_vector)# 构建查问参数search_param = {    "metric_type": "L2",    "params": {"nprobe": 16}}# 在 milvus 中查问向量search_result = client.search(collection_name='my_collection', query_records=[query_vector_norm.tolist()], top_k=10, params=search_param)# 解决查问后果for result in search_result:    print(result.id, result.distance)