<< 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
出现 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 &
参数解释:
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
参数解释:
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配置文件,如下图:
产品安装包目录结构图
bi.properties配置文件图
在产品安装包的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. 连接向量数据库
参考向量数据库配置。