首页 > 首页 > 数据库 > 向量数据库 > Qdrant > docker-compose 安装向量数据库qdrant v1.9.7
2024
05-31

docker-compose 安装向量数据库qdrant v1.9.7

Qdrant 简介

Qdrant 是专为扩展过滤支持而设计的向量相似度搜索引擎和向量数据库,这使得它适用于各种基于神经网络的语义匹配、图像搜索等应用。

Qdrant 使用 Rust 🦀 编写,即使在高负载下也能快速、可靠地工作。

Qdrant 架构

docker-compose 安装向量数据库qdrant v1.9.7 - 第1张  | 架构迷

上图展示了 Qdrant 一些主要组件的高级概述,以下是相关术语:

  • 集合(Collections):集合是一组命名的点(带有有效负载的向量),您可以在其中进行搜索。同一集合中每个点的向量必须具有相同的维度,并通过单个度量进行比较。命名向量可用于在单个点中包含多个向量,每个向量都可以有自己的维度和度量要求。
  • 距离度量(Distance Metrics):这些用于测量向量之间的相似性,必须在创建集合的同时选择它们。度量的选择取决于向量的获取方式,特别是取决于将用于编码新查询的神经网络。
  • 点(Points):点是 Qdrant 运行的中心实体,它们由向量和可选的 id 和有效负载组成。
  • id:向量的唯一标识符。
  • 矢量(Vector):数据的高维表示,例如图像、声音、文档、视频等。
  • 有效负载(Payload):有效负载是一个 JSON 对象,其中包含可以添加到向量中的附加数据。
  • 存储(Storage):Qdrant 可以使用两种存储选项之一:内存存储(将所有向量存储在 RAM 中,具有最高速度,因为仅需要持久性才需要磁盘访问)或Memmap存储(创建与磁盘上的文件)。
  • 客户端:可用于连接到 Qdrant 的编程语言。

Qdrant 单节点安装配置

官方文档:https://qdrant.tech/documentation/quick-start/
Git地址:https://github.com/qdrant/qdrant

官方文档:https://qdrant.tech/documentation/quick-start/
Git地址:https://github.com/qdrant/qdrant

以下操作基于Ubuntu 22.04+ 系统 

一、docker安装配置

1、将下载的 docker-26.1.4.tgz 解压到系统目录(https://download.docker.com/linux/static/stable/x86_64/):

# tar zxvf docker-26.1.4.tgz  &&  mv docker/*    /usr/bin

# docker -v

Docker version 26.1.4, build 5650f9b

2、创建 Docker 配置目录

# mkdir -p /etc/docker

# vim /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-level": "debug",  
  "log-driver": "json-file",
  "log-opts": {
      "max-size": "100m",
      "max-file": "10"
              },
       "live-restore": true
}

3、创建 Docker 服务文件

# vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd --config-file=/etc/docker/daemon.json
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

# systemctl daemon-reload  && systemctl start docker && systemctl enable docker

二、安装docker-compose

# cp docker-compose /usr/local/bin/

# docker-compose -v

Docker Compose version v2.5.0

三、安装qdrant服务

1、创建docker-compose.yml文件

# mkdir -p /opt/qdrant/{qdrant_storage,qdrant_snapshots};cd /opt/qdrant

# vim docker-compose.yml
version: '2'
services:
  qdrant:
    privileged: true
    image: qdrant/qdrant:v1.9.4
    network_mode: "host"
    ports:
      - "6333:6333"
      - "6334:6334"
    volumes:
      - "./qdrant_storage:/qdrant/storage"
      - "./qdrant_config:/qdrant/config"
      - "./qdrant_snapshots:/qdrant/snapshots"
    restart: on-failure

# docker-compose up -d

PS: 参数privileged: true 是因为我是ubuntu系统,本地执行时出现Operation not permitted进程创建受限加的,一般不用加

2、挂载配置文件

默认配置文件目录是没有被挂载出来得,为了修改参数方便,我们需要将目录挂载到本地

# docker ps | grep qdrant
259220a68558    qdrant/qdrant:v1.9.7     "./entrypoint.sh"    8 minutes ago   Up 8 minutes           0.0.0.0:6333-6334->6333-6334/tcp    qdrant-qdrant-1

# cd /opt/qdrant;docker cp 259220a68558:/qdrant/config/ ./

# mv config qdrant_config

# docker-compose down

# vim docker-compose.yml
version: '2'
services:
  qdrant:
    privileged: true
    image: qdrant/qdrant:v1.9.7
    network_mode: "host"
    ports:
      - "6333:6333"
      - "6334:6334"
    volumes:
      - "./qdrant_storage:/qdrant/storage"
      - "./qdrant_config:/qdrant/config"
      - "./qdrant_snapshots:/qdrant/snapshots"
    restart: on-failure

3、启动服务

# docker-compose up -d

3、调整存储模式

默认qdrant 采用磁盘存储的模式,性能上比较慢,如果想提升性能,可以改成全内存模式

修改 qdrant_config/config.yaml 下面的参数

vectors
    on_disk 改成false
storage
    on_disk_payload 改成false

重启服务:

# docker-compose down

# docker-compose up -d

4、访问方式

REST API:http://ip地址:6333

网页用户界面:http://ip地址:6333/dashboard

GRPC API:http://ip地址:6334

最后编辑:
作者:摘星怪
这个作者貌似有点懒,什么都没有留下。

docker-compose 安装向量数据库qdrant v1.9.7》有 1 条评论

留下一个回复

你的email不会被公开。