pymilvus执行多向量搜索
从 Milvus 2.4 开始,引入了多向量支持和混合搜索框架,单个collection可以支持10个向量字段。不同的向量字段可以表示不同的方面、不同的embedding模型甚至表征同一实体的不同数据模态。该功能在综合搜索场景中特别有用,例如根据图片、语音、指纹等各种属性来识别向量库中最相似的人。
多向量搜索支持在多个向量字段上执行搜索请求,并使用重排名策略(例如RRF和加权评分)组合结果。
客户端pymilvus需要2.4版本。
准备数据
集合hello_milvus有2个向量字段embeddings1、embeddings2
创建多个 AnnSearchRequest 实例
每个AnnSearchRequest代表指定向量字段上的单个搜索请求。
以下示例创建两个AnnSearchRequest实例对两个向量字段执行单独的相似性搜索。
query_vector1 = [[0.9425935745239258,0.7893211245536804,0.6682707071304321,0.6769697070121765,0.9508556127548218]]
search_param_1 = {
"data": query_vector1, # Query vector
"anns_field": "embeddings1", # Vector field name
"param": {
"metric_type": "L2", # This parameter value must be identical to the one used in the collection schema
"params": {
"nprobe": 10}
},
"limit": 2 # Number of search results to return in this AnnSearchRequest
}
request_1 = AnnSearchRequest(**<

文章讲述了在Pymilvus2.4中执行多向量搜索的方法,涉及向量字段操作、搜索参数设置和重排名策略应用。

1125

被折叠的 条评论
为什么被折叠?



