为什么使用 Milvus ?
Milvus 目标单一:存储、索引和管理由深度神经网络和其他机器学习 (ML) 模型生成的海量嵌入向量。
作为一个专门设计用于处理输入向量查询的数据库,它能够索引万亿规模的向量。与现有的关系数据库主要处理遵循预定义模式的结构化数据不同,Milvus 是自下而上设计的,用于处理从非结构化数据转换而来的嵌入向量。
由于 Milvus 专注于向量检索,因此它拥有高性能在海量数据集上进行向量检索的能力,并且有完善的文档支撑,因此在本教程中利用 Milvus BERT 搭建非传统意义上的法律文书搜索引擎。
搭建步骤
部署 Milvus
这里我们跟随官方的安装教程,使用 docker-compose 方式快速部署。
代码语言:javascript复制wget https://github.com/milvus-io/milvus/releases/download/v2.0.2/milvus-standalone-docker-compose.yml -O docker-compose.yml
sudo docker-compose up -d
部署 PostgreSQL 数据库
代码语言:javascript复制sudo docker run --name postgres -d -p 5432:5432 -e POSTGRES_HOST_AUTH_METHOD=trust postgres
sudo docker logs postgres0 --tail 10
安装 clip-server
代码语言:javascript复制pip install clip-server
python -m clip_server torch.yml
其中 torch.yml 格式如下:
代码语言:javascript复制jtype: Flow
version: '1'
with:
port: 51000
executors:
- name: clip_t
uses:
jtype: CLIPEncoder
metas:
py_modules:
- executors/clip_torch.py
此时连接 51000 端口,可以看到 clip-server 服务跑起来了。
下一步,结合两个服务,将法律文书转化为向量导入 Milvus。