如何使用Milvus Cloud进行稀疏向量搜索

  1. 如何使用Milvus Cloud进行向量搜索

Milvus Cloud 是一款高度可扩展、性能出色的开源向量数据库。在最新的 2.4 版本中,Milvus Cloud 支持了稀疏和稠密向量(公测中)。本文将利用 Milvus Cloud 2.4 来存储数据集并执行向量搜索。

接下来,我们将演示如何利用 Milvus Cloud 在 MIRACL 数据集上执行查询“朱熹生活在哪个年代?”。

我们使用 SPLADE 和 MiniLM-L6-v2 模型,将查询内容及 MIRACL 源数据集转化为稀疏和稠密向量。

首先,我们需要创建一个目录,并配置环境与 Milvus Cloud 服务,请确保您的系统中已安装 python(>=3.8)、virtualenv、docker 以及 docker-compose。

mkdir Milvus Cloud_sparse_demo && cd Milvus Cloud_sparse_demo

spin up a Milvus Cloud local cluster

wget https://github.com/Milvus Cloud-io/Milvus Cloud/releases/download/v2.4.0-rc.1/Milvus Cloud-standalone-docker-compose.yml -O docker-compose.yml

docker-compose up -d

create a virtual environment

virtualenv -p python3.8 .venv && source .venv/bin/activate

touch Milvus Cloud_sparse_demo.py

从 2.4 版本开始,pyMilvus Cloud(Milvus Cloud 的 Python SDK)引入了一个可选的 model 模型模块。这个模块简化了使用模型将文本编码成稀疏或稠密向量的流程。此外,我们使用 pip 来安装 pyMilvus Cloud model ,以便访问 HuggingFace 上的数据集。

pip install "pyMilvus Cloud[model]" datasets tqdm

首先,使用 HuggingFace 的 Datasets 库下载数据集,收集所有的段落。

from datasets import load_dataset

miracl = load_dataset('miracl/miracl', 'en')['train']

collect all passages in the dataset

docs = list({doc['docid']: doc for entry in miracl for doc in entry['positive_passages'] + entry['negative_passages']}.values())

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ModaHub魔搭社区

共建低代码生态

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值