向量数据库安装和配置

<< Click to Display Table of Contents >>

当前位置:  附录 

向量数据库安装和配置

复制链接

在进行数据集学习数据前,需要连接相应的数据库并部署预训练模型。用户可根据系统安装对应的向量数据库,这里介绍Linux系统下如何安装部署向量数据库。

1. Linux安装部署向量数据库

推荐用Docker镜像的方式,在Linux上安装Docker,下载Milvus的Docker镜像(milvus:v2.4.8,目前仅支持此版本),启动Docker,把Milvus启动即可。

系统要求:centos7。

linux内核要求:3.10以上。

安装步骤:

1)安装docker。

yum install -y docker

2)启动docker并设置为开机自动启动。

systemctl start docker.service

systemctl enable docker.service

如果执行上面两条命令系统不支持,用下面的两条命令。

service docker start

chkconfig docker on

3)进入一个目录如/opt/milvus 后,拉取镜像,执行如下的命令。

cat << EOF > embedEtcd.yaml

listen-client-urls: http://0.0.0.0:2379

advertise-client-urls: http://0.0.0.0:2379

quota-backend-bytes: 4294967296

auto-compaction-mode: revision

auto-compaction-retention: '1000'

EOF

cat << EOF > user.yaml

# Extra config to override default milvus.yaml

EOF

 

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/milvusdb/milvus:v2.4.8

docker tag swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/milvusdb/milvus:v2.4.8 docker.io/milvusdb/milvus:v2.4.8

4)启动容器。

docker run -d \

--name milvus-standalone \

--security-opt seccomp:unconfined \

-e ETCD_USE_EMBED=true \

-e ETCD_DATA_DIR=/var/lib/milvus/etcd \

-e ETCD_CONFIG_PATH=/milvus/configs/embedEtcd.yaml \

-e COMMON_STORAGETYPE=local \

-v $(pwd)/volumes/milvus:/var/lib/milvus \

-v $(pwd)/embedEtcd.yaml:/milvus/configs/embedEtcd.yaml \

-v $(pwd)/user.yaml:/milvus/configs/user.yaml \

-p 19530:19530 \

-p 9091:9091 \

-p 2379:2379 \

--health-cmd="curl -f http://localhost:9091/healthz" \

--health-interval=30s \

--health-start-period=90s \

--health-timeout=20s \

--health-retries=3 \

b068e3899a9c \

milvus run standalone 1> /dev/null

5)查看容器是否启动成功。

docker ps -a | grep milvus

vector01

出现 Up XX seconds (healthy) 则表示部署成功。

2. 部署向量化模型服务

2.1 部署说明

目前远程向量化模型服务仅支持docker部署,服务默认端口为8180,部署此服务需要以下几个步骤:

(1)上传镜像文件

(2)加载镜像文件

(3)运行容器

(4)查看容器运行状态

(5)配置远程向量化模型服务

2.2 上传镜像文件

将打包好的向量化模型服务docker镜像yh_embedding_model_v0.1.tar上传到一个目录,例如:/opt/yh_embedding_model,以下步骤均以目录/opt/yh_embedding_model举例。

说明:

获取docker镜像yh_embedding_model_v0.1.tar文件,请联系客户经理。

2.3 加载镜像文件

进入到目录/opt/yh_embedding_model,将镜像文件加载到docker中,执行如下的命令:

docker load < yh_embedding_model_v0.1.tar

2.4 运行容器

运行向量化模型服务容器,命令如下:

docker run -dp 8180:8180 -m 32G --cpus=8 -v /opt/yh_embedding_model/logs:/logs --privileged  --name yh_embedding_model_v0.1 yh_embedding_model:v0.1.0 > ./run.log 2>&1 &

clip0451

参数解释:

1. -d(Detach mode):

作用:让容器在后台运行,即不会占用当前终端。

2. -p 8180:8180(端口映射):

作用:将宿主机(host)上的端口8180映射到容器内部的端口8180。

格式:-p <host_port>:<container_port>。

3. -m 32G(限制内存):

作用:限制容器的内存使用为32GB,需要根据实际情况做调整,如果未设置,则允许使用宿主机所有内存。

4. --cpus=8(限制CPU):

作用:限制容器最多可以使用8个CPU核心,需要根据实际情况做调整,如果未设置,则允许使用宿主机所有CPU逻辑核心数。

5. -v /opt/yh_embedding_model/logs:/logs(卷挂载):

作用:这个选项用于将宿主机的目录 /opt/yh_embedding_model/logs挂载到容器中的 /logs 目录。

格式:-v <host_directory>:<container_directory>。

6. --privileged(特殊权限):

作用:这个选项为容器授予更高的权限,使其能够访问宿主机上通常不允许访问的设备,或者执行特权操作。。

7. --name yh_embedding_model_v0.1(容器名称):

作用:设置容器的名称为 yh_embedding_model_v0.1。

8. yh_embedding_model:v0.1.0(镜像名称和标签):

作用:指定要运行的 Docker 镜像,yh_embedding_model:v0.1.0 表示使用名为 yh_embedding_model的镜像,并且是该镜像的 v0.1.0 版本。

格式:<image_name>:<tag>。

9. > ./run.log(重定向输出)

作用:将容器的标准输出(stdout)重定向到当前文件夹下的run.log文件。

10. 2>&1

作用:将标准错误(stderr)重定向到标准输出(stdout),所以所有的输出(包括错误信息)都会被写入到 run.log 文件中。

11. &(后台执行):

作用:将整个 docker run 命令放到后台执行,即使在终端关闭或退出时,容器也能继续运行。

2.5 查看容器运行状态

查看向量化模型服务容器是否运行成功,如果出现Up XX seconds,则表示服务部署成功,命令如下:

docker ps -a | grep yh_embedding_model

clip0452

参数解释:

1. docker ps

作用:列出正在运行的容器。

2. -a(All)

作用:显示所有容器,包括已停止的容器。

说明:当你只使用 docker ps 时,默认只显示当前正在运行的容器。加上 -a 后,docker ps 将会显示所有容器,无论是正在运行的,还是已经停止的容器。

3. |(管道符)

作用:将左侧命令的输出传递给右侧命令。

说明:在这里,docker ps -a 的输出会被传递给 grep 命令。

4. grep yh_embedding_model

作用:在 docker ps -a 的输出中搜索包含 yh_embedding_model 字符串的行。

说明:它会从输入中筛选出包含 yh_embedding_model 字符串的容器。

2.6 配置远程向量化模型服务

bi访问远程向量化模型服务,需要修改bi.properties配置文件,如下图:

产品安装包目录结构图

clip0453

bi.properties配置文件图

clip0454

在产品安装包的bihome目录下,找到bi.properties文件,添加配置如下:

use.remote.embedding.model=true

remote.embedding.model.host=http://127.0.0.1

remote.embedding.model.port=8180

参数解释:

1. use.remote.embedding.model(向量化模型服务模式)

作用:设置向量化模型服务的模式,包括本地和远程2种模式。

说明:当设置为true时,使用远程向量化模型服务,设置为false时,使用本地向量化模型。如果未配置,则使用默认值false。

2. remote.embedding.model.host(向量化模型服务器ip)

作用:设置向量化模型服务的服务器ip地址。

说明:其中的127.0.0.1需要修改为服务器的实际ip地址。如果配置的是本地向量化模型,则不需要配置该项。

3. remote.embedding.model.port(向量化模型服务器端口)

作用:设置远程向量化模型服务的端口号,默认为8180。

说明:如果配置的是本地向量化模型,则不需要配置该项。

说明:

若存在多个C节点,需要配置多个C节点的对应路径下的bi.properties,重启即可。

3. 连接向量数据库

参考向量数据库配置