向量数据库管理难题怎么破?Vector Admin或是最佳答案!

前言

在如今这个 AI 项目、RAG 项目蓬勃发展的时代,向量数据库的应用愈发广泛。然而,当涉及到如何清晰便捷地查看和管理向量数据库中的数据时,却是个比较麻烦的事。今天要给大家介绍一款实用的向量数据库管理工具------Vector Admin。目前,它支持 PineconeChromaQDrantWeaviate 这四款流行的向量数据库。

Vector Admin

介绍

VectorAdmin 不仅仅是一个简单的工具,更是一套完备的解决方案。它作为一款功能全面的多用户产品,具有极高的灵活性。用户既可以通过 Docker 在本地轻松运行,以满足本地开发、测试的需求;也可以将其实时远程托管,以便随时随地进行数据管理。同时,它具备管理多个矢量数据库的能力,有效提升工作效率。

部署

部署 Vector Admin 需要使用 PostgreSQL 数据库。如果已经拥有合适的 PG 数据库环境,那么可以直接使用 Docker 命令进行安装。但如果目前还没有构建 PG 数据库环境,可以使用我编写的 Docker Compose 文件进行一键安装。

Docker

可以按照以下 Docker 命令来部署 Vector Admin:

bash 复制代码
docker run -d -p 3001:3001 \
--name vectoradmin \
-e SERVER_PORT="3001" \
-e JWT_SECRET="your-random-string-here" \
-e INNGEST_EVENT_KEY="background_workers" \
-e INNGEST_SIGNING_KEY="random-string-goes-here" \
-e INNGEST_LANDING_PAGE="true" \
-e DATABASE_CONNECTION_STRING="postgresql://vectoradmin:password@xxxxxxx:5432/vdbms" \
mintplexlabs/vectoradmin

在上述命令中,需要注意以下几点:

  • -d 参数表示以分离模式运行容器,也就是在后台运行。
  • -p 3001:3001 表示将容器内部的 3001 端口映射到主机的同一端口上,以便外部访问。
  • -e 后面的各项用于设置环境变量,其中包括服务器端口、JWT 密钥、INNGEST 相关密钥以及数据库连接字符串等。你需要根据实际情况修改这些值。

Docker Compose

对于希望简化部署流程的用户,通过 Docker Compose 配置文件可以轻松实现一键部署 PostgreSQL 和 Vector Admin:

yaml 复制代码
version: '3.8'

networks:
  vector_net:
    driver: bridge

services:
  db:
    image: postgres:latest
    container_name: pg_vector
    environment:
      POSTGRES_USER: vectoradmin
      POSTGRES_PASSWORD: your-db-password
      POSTGRES_DB: vdbms
    ports:
      - '5432:5432'
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - vector_net
    restart: unless-stopped

  vectoradmin:
    image: mintplexlabs/vectoradmin:latest
    container_name: vectoradmin
    depends_on:
      - db
    ports:
      - '3001:3001'
    environment:
      SERVER_PORT: '3001'
      JWT_SECRET: 'your-256-bit-secret' # 替换为随机字符串
      INNGEST_EVENT_KEY: 'background_workers'
      INNGEST_SIGNING_KEY: 'your-signing-key' # 替换为随机字符串
      INNGEST_LANDING_PAGE: 'true'
      DATABASE_CONNECTION_STRING: 'postgresql://vectoradmin:your-db-password@db:5432/vdbms'
    networks:
      - vector_net
    restart: unless-stopped

volumes:
  postgres_data:

在 Docker Compose 文件中,我们定义了两个服务,分别是 db(用于运行 PostgreSQL 数据库)和 vectoradmin(用于运行 Vector Admin 应用程序)。depends_on 关键字确保了 vectoradmin 服务在 db 服务启动之后才会启动。同时,通过定义共享的 postgres_data 卷,实现了数据的持久化存储。

初始化系统

当部署完成后,你可以通过在浏览器中访问 http://127.0.0.1:3001 来打开客户端页面。首次登录时,系统会引导你完成一系列初始化操作,具体步骤如下:

创建管理员用户:

系统会提示你创建一个初始的管理员用户。这是整个系统管理体系的基础,管理员用户拥有最高权限,可以对系统进行全面管理,包括创建组织、链接数据库等重要操作。在创建过程中,请确保设置一个强密码,以保障系统安全。

安全设置:

为了进一步保障系统安全,你还可以进行一些安全设置。例如,你可以将 VectorAdmin 安装限制为只允许来自特定域的注册,或者直接完全禁用外部注册功能,确保所有用户都必须先由管理员用户手动创建,从而更好地控制用户来源和权限。

创建一个组织:

组织是存储所有文件的核心单元,可以拥有众多组织。不过,至少需要创建一个组织来开始数据管理。在创建组织时,你可以为组织命名并设置相关描述,方便后续的分类和管理。

链接一个向量数据库:

在这里,你可以将系统与已有的向量数据库进行关联。如果你的向量数据库没有设置 API Key,那么相应的 API HeaderAPI Key 字段可以暂时留空。在链接过程中,请确保你提供的数据库连接信息准确无误,以便成功建立连接。

帮助改进:

在这个阶段,你会看到帮助 Vector Admin 改进建议的页面。这里的每一条建议都有可能帮助我们优化产品,提升用户体验。当然,如果你不想参与反馈,直接点击底部的 Skip Suvey 即可进入下一步。

同步链接:

VectorAdmin 能够自动同步矢量数据库中的现有信息。这个过程是将数据库中存储的数据同步到 VectorAdmin 系统中,以便能够方便地进行集中管理和操作。不过请注意,这个过程可能需要较长时间来完成,具体时间长短取决于你已经嵌入的数据量大小。一旦启动这个同步过程,你可以在作业队列中实时查看进度,随时掌握同步状态。

管理页面:

登录后,你将正式进入管理界面。界面的左侧呈现 组织列表,每个组织都与一个向量数据库的链接相对应,而每个组织下面又可以创建多个 工作空间,每个工作空间代表一个单独的 Collection / Schema。中间的主要部分是数据的浏览和管理区域,在这里,当你选中一个工作空间后,可以对其中的数据执行搜索、上传、删除等各种操作,使你能够灵活地处理和管理数据。最右侧是快速操作的列表,通过这个列表,你可以方便地对 VectorAdmin 进行各种管理操作,例如用户管理、系统设置等。

结语

Vector Admin 作为目前为数不多的开源向量数据库管理系统,有着诸多显著的优势。它是 Mintplex-Labs 组织开源的,整体风格架构与 AnythingLLM 相似,因此对于熟悉 AnythingLLM 的用户来说,几乎可以快速上手。操作界面设计直观简单,易于理解和使用,无论是新手用户还是有一定经验的开发者,都能轻松地在其中进行各项操作。

当然了,目前唯一美中不足的是它暂时不支持多语言。对于那些不太熟悉英语的用户来说,在操作初期可能会遇到一些语言障碍,需要花费一些时间来熟悉和适应。

相关链接

相关推荐
beibeibeiooo几秒前
【CSS3】01-初始CSS + 引入 + 选择器 + div盒子 + 字体修饰
前端·css·css3
孤╮独的美8 分钟前
CSS3:深度解析与实战应用
前端·css·css3
扫地的小何尚11 分钟前
NVIDIA TensorRT 深度学习推理加速引擎详解
c++·人工智能·深度学习·gpu·nvidia·cuda
一城烟雨_16 分钟前
Vue3 实现pdf预览
前端·vue.js·pdf
易xingxing21 分钟前
探索HTML5 Canvas:创造动态与交互性网页内容的强大工具
前端·html·html5
编程千纸鹤29 分钟前
基于深度学习的自动驾驶目标检测系统
人工智能·深度学习·目标检测·yolo8
好_快30 分钟前
Lodash源码阅读-arrayPush
前端·javascript·源码阅读
沐风清扬32 分钟前
Solr-搜索引擎-入门到精通
后端·搜索引擎·php·solr
好_快32 分钟前
Lodash源码阅读-equalByTag
前端·javascript·源码阅读
救救孩子把1 小时前
集成开发环境革新:IntelliJ IDEA与Cursor AI的智能演进
java·人工智能·intellij-idea