搭建法律文书搜索引擎 | Milvus + BERT 篇(1)

2022-05-30 23:39:07 浏览数 (2)

为什么使用 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。

0 人点赞