Weaviate 是一个完全用 Go 语言构建的开源向量数据库,具备强大的数据存储与检索功能。为了满足不同用户和用例的需求,Weaviate 提供了多种部署方式:
Weaviate 与 Pinecone/TCVectorDB 一样,具有集合的概念。在 Weaviate 中,集合类似于传统关系型数据库中的表,负责管理特定类型的数据/数据对象。使用 Weaviate 的流程相当简单:
Weaviate 官方为所有注册登录的账号提供了无限量的 Weaviate 云服务(免费账号每个实例使用时间最大为 14 天,付费账户不限),通过邮箱注册登录 Weaviate 后,找到后台管理系统的 Clusters(集群) 即可快速创建 Weaviate 向量数据库实例。
在 Docker 上部署 Weaviate 向量数据库非常简单,如果使用默认值,则不需要 docker-compose.yml 文件来运行镜像(适用于开发场景),安装好 Docker 之后,执行如下命令:
docker run -d --name weaviate-dev -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.24.20
上述的命令就会快速创建一个叫 weaviate-dev 的容器并在后台运行,该容器暴露了两个端口,8080 和 50051,其中 8080 端口为 REST 接口连接端口、50051 为 gRPC 服务连接端口。
除此之外,使用 Docker 部署的 Weaviate 向量数据库服务,还有以下几个常见命令:
# 启动 weaviate 服务
docker start weaviate
# 关闭 weaviate 服务
docker stop weaviate
# 移除 weaviate 容器
docker rm weaviate-dev
# 查看当前 docker 容器所有镜像
docker images
# 移除 weaviate 镜像
docker rmi cr.weaviate.io/semitechnologies/weaviate
# 查看当前运行的 docker 服务
docker ps
# 查看所有 docker 容器(涵盖启动和未启动)
docker ps -a