前言
在如今这个 AI 项目、RAG 项目蓬勃发展的时代,向量数据库的应用愈发广泛。然而,当涉及到如何清晰便捷地查看和管理向量数据库中的数据时,却是个比较麻烦的事。今天要给大家介绍一款实用的向量数据库管理工具------Vector Admin。目前,它支持 Pinecone
、Chroma
、QDrant
、Weaviate
这四款流行的向量数据库。
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 Header
和 API Key
字段可以暂时留空。在链接过程中,请确保你提供的数据库连接信息准确无误,以便成功建立连接。
帮助改进:
在这个阶段,你会看到帮助 Vector Admin 改进建议的页面。这里的每一条建议都有可能帮助我们优化产品,提升用户体验。当然,如果你不想参与反馈,直接点击底部的 Skip Suvey
即可进入下一步。
同步链接:
VectorAdmin 能够自动同步矢量数据库中的现有信息。这个过程是将数据库中存储的数据同步到 VectorAdmin 系统中,以便能够方便地进行集中管理和操作。不过请注意,这个过程可能需要较长时间来完成,具体时间长短取决于你已经嵌入的数据量大小。一旦启动这个同步过程,你可以在作业队列中实时查看进度,随时掌握同步状态。
管理页面:
登录后,你将正式进入管理界面。界面的左侧呈现 组织列表
,每个组织都与一个向量数据库的链接相对应,而每个组织下面又可以创建多个 工作空间
,每个工作空间代表一个单独的 Collection
/ Schema
。中间的主要部分是数据的浏览和管理区域,在这里,当你选中一个工作空间后,可以对其中的数据执行搜索、上传、删除等各种操作,使你能够灵活地处理和管理数据。最右侧是快速操作的列表,通过这个列表,你可以方便地对 VectorAdmin 进行各种管理操作,例如用户管理、系统设置等。
结语
Vector Admin 作为目前为数不多的开源向量数据库管理系统,有着诸多显著的优势。它是 Mintplex-Labs 组织开源的,整体风格架构与 AnythingLLM 相似,因此对于熟悉 AnythingLLM 的用户来说,几乎可以快速上手。操作界面设计直观简单,易于理解和使用,无论是新手用户还是有一定经验的开发者,都能轻松地在其中进行各项操作。
当然了,目前唯一美中不足的是它暂时不支持多语言。对于那些不太熟悉英语的用户来说,在操作初期可能会遇到一些语言障碍,需要花费一些时间来熟悉和适应。
相关链接
- Vector-Admin 官网: vectoradmin.com/
- Vector-Admin 仓库: github.com/Mintplex-La...