【Milvus】使用Milvus向量库过程中遇到的问题——代码无法对标量构建索引

文章讲述了在使用Milvus向量库时,尝试为collection创建索引遇到的问题,由于版本过高(如2.3.x),无法为标量或数值类型的字段创建索引。解决方法是将Milvus镜像版本降低到2.2.14或更低,并可能需要同步调整etcd和minio镜像版本。
摘要由CSDN通过智能技术生成

问题描述

在使用Milvus向量库时,创建collection后,希望通过对字段创建索引,以缩减相似度检索时所用时间,但标量无法创建索引,按照attu界面显示的索引类型要求(varchar类型采用索引类型Tried,数值类型采用索引类型sort),于创建中创建,依然报错,显示不可创建。

原因分析:

Milvus镜像版本过高,2.3.x或2.2.11等会导致该问题。

解决方案:

降低Milvus镜像版本,于yaml配置文件中对拉取的Milvus镜像版本进行修改,降至2.2.14或更低。
P.S.如果部署未成功,可能原因为对应的etcd和minio镜像也需要进行降低。

以下是利用 panns-inference 预训练模型将音频数据转换为特征向量并导入到 Milvus Milvus 将返回向量对应的 ID的 Python 代码示例: ```python import torch import torchaudio from transformers import Wav2Vec2Processor, Wav2Vec2Model from panns_inference import AudioTagging from milvus import Milvus, IndexType, MetricType # 加载预训练模型 processor = Wav2Vec2Processor.from_pretrained("facebook/wav2vec2-base-960h") model = Wav2Vec2Model.from_pretrained("facebook/wav2vec2-base-960h") # 加载 panns-inference 模型 device = torch.device("cuda" if torch.cuda.is_available() else "cpu") audio_tagger = AudioTagging(checkpoint_path="Cnn14_DecisionLevelMax_mAP=0.438.pth", device=device) # 加载 Milvus milvus = Milvus(host="localhost", port=19530) # 定义向量维度和索引参数 dimension = 512 index_type = IndexType.IVF_FLAT metric_type = MetricType.IP # 处理音频文件 audio_file = "test.wav" waveform, sample_rate = torchaudio.load(audio_file) input_values = processor(waveform, sampling_rate=sample_rate, return_tensors="pt").input_values features = model(input_values).last_hidden_state # 提取音频特征向量 audio_features = audio_tagger.inference(features.cpu().detach().numpy()) # 向 Milvus 添加向量 milvus_vectors = [audio_features.tolist()] status, ids = milvus.insert(collection_name="audio_collection", records=milvus_vectors, ids=[1]) print("Milvus vector ID:", ids[0]) ``` 其,`test.wav` 是音频文件的路径,`audio_collection` 是 Milvus 用于存储音频特征向量的集合名称。运行代码后,Milvus 将返回向量对应的 ID。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值