前言
默认读者看过作者的《Tensorflow第一篇(安装环境)》,为了实现公司的识图需求所以引入一个向量数据库。(现阶段通过测试是可以实现需求的,等待评审……)
什么是Milvus向量数据库?(资料来源于Milvus官网)
Milvus是在2019年创建的,其唯一目标是存储、索引和管理由深度神经网络和其他机器学习(ML)模型生成的大规模嵌入向量。
作为一个专门设计用于处理输入向量查询的数据库,它能够处理万亿级别的向量索引。与现有的关系型数据库主要处理遵循预定义模式的结构化数据不同,Milvus从底层设计用于处理从非结构化数据转换而来的嵌入向量。
随着互联网的发展和演变,非结构化数据变得越来越常见,包括电子邮件、论文、物联网传感器数据、Facebook照片、蛋白质结构等等。为了使计算机能够理解和处理非结构化数据,使用嵌入技术将它们转换为向量。Milvus存储和索引这些向量。Milvus能够通过计算它们的相似距离来分析两个向量之间的相关性。如果两个嵌入向量非常相似,则意味着原始数据源也很相似。
Milvus安装 (资料来源于Milvus官网)
Milvus的安装有多种方式并且在其官网上有着详细的安装步骤,在这里作者仅介绍一种自己使用的安装方式。
使用 Docker Compose 安装单机版Milvus(CPU版)
先决条件
硬件要求:
软件要求:
下载文件YAML
下载并保存为手动,或使用以下命令。milvus-standalone-docker-compose.ymldocker-compose.yml
$ wget <https://github.com/milvus-io/milvus/releases/download/v2.3.4/milvus-standalone-docker-compose.yml> -O docker-compose.yml
启动 Milvus
在与文件相同的目录下,通过以下命令启动 Milvus:docker-compose.yml
$ sudo docker compose up -d
如果运行上述命令失败,请检查您的系统是否安装了 Docker Compose V1。如果是这种情况,建议您迁移到 Docker Compose V2。
Creating milvus-etcd ... done
Creating milvus-minio ... done
Creating milvus-standalone ... done
现在检查容器是否已启动并运行。
$ sudo docker compose ps
Milvus 单机启动后,将有三个 docker 容器在运行,包括 Milvus 单机服务及其两个依赖。
Name Command State Ports
--------------------------------------------------------------------------------------------------------------------
milvus-etcd etcd -advertise-client-url ... Up 2379/tcp, 2380/tcp
milvus-minio /usr/bin/docker-entrypoint ... Up (healthy) 9000/tcp
milvus-standalone /tini -- milvus run standalone Up 0.0.0.0:19530->19530/tcp, 0.0.0.0:9091->9091/tcp
连接 Milvus
验证 Milvus 服务器监听的本地端口。将容器名称替换为你自己的名称。
$ docker port milvus-standalone 19530/tcp
你可以使用该命令返回的本地 IP 地址和端口号连接到 Milvus。
安装可视化工具(Attu)
Attu 是一个多合一的 milvus 管理工具。
安装docker版Attu
docker run -p 8000:3000 -e HOST_URL=http://{ your machine IP }:8000 -e MILVUS_URL={your machine IP}:19530 zilliz/attu:latest
一旦你成功运行了 Attu docker,在浏览器输入 http://{ your machine IP }:8000, 然后点击 Connect 按钮连接 Milvus。
如果连接不成功将Attu Address改成本机的ip地址
附录
Milvus的官方网址(milvus.io/)
Attu的项目网址(GitHub - zilliztech/attu: Milvus 管理 GUI)