文章目录
前言
LangChain
官网对Weaviate
描述是一种开源的向量搜索引擎数据库,允许以类属性的方式存储JSON
文档,并将机器学习向量附加到这些文档上,以在向量空间中表示它们。是一个低延迟的向量搜索引擎,开箱即用支持不同的媒体类型(文本、图像等)。支持语义搜索、问答提取、分类等功能,并且可以通过 GraphQL-API
轻松访问数据。
官网地址:https://weaviate.io
一、名词解释
1、Schema
(模式,相当于数据库定义)
数据模型的元数据框架,定义数据类型的结构和行为,控制向量化、索引和搜索方式。
2、集合(Collection
,旧称Class
,相当于表数据集)
Schema
的具体实例化,每个集合对应一个向量空间,包含相同语义特征的数据对象,支持独立配置。
3、租户(Tenant
)
数据物理隔离的逻辑单元
二、服务端安装部署
在CentOS
中使用Docker
部署Weaviate
服务器,以给客户端开发提供测试环境。
1、拉取镜像
从 Docker Hub
下载 Weaviate
的最新镜像:
docker pull semitechnologies/weaviate:latest
Docker Hub
官网访问缓慢的解决办法:
将docker
修改为国内镜像源
- 修改或者创建文件:
vi /etc/docker/daemon.json
- 输入以下内容:
{
"registry-mirrors": [
"https://1sqll1ee.mirror.aliyuncs.com",
"https://docker.mirrors.ustc.edu.cn",
"https://mirror.ccs.tencentyun.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com"
]
}
2、启动容器
Weaviate
服务器是支持集群部署的,这里做测试,仅部署单节点。
docker run -d --name weaviate \
--restart=always \
-p 8080:8080 \
-p 50051:50051 \
-e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'false' \
-e AUTHENTICATION_APIKEY_ENABLED: 'true' \
-e AUTHENTICATION_APIKEY_ALLOWED_KEYS: 'WF5YThaHlkYwhGSmCRgsX3tD5ngdN8pkih' \
-e AUTHENTICATION_APIKEY_USERS: 'name@email.com' \
-e AUTHORIZATION_ADMINLIST_ENABLED: 'true' \
-e AUTHORIZATION_ADMINLIST_USERS: 'name@email.com' \
-e PERSISTENCE_DATA_PATH: '/var/lib/weaviate' \
-e DEFAULT_VECTORIZER_MODULE: 'none' \
-e ENABLE_MODULES: '' \
-e DISABLE_CLUSTER: 'true' \
-e QUERY_DEFAULTS_LIMIT: 25 \
semitechnologies/weaviate:latest \
- 参数说明
-d
:使容器在后台运行。
--name weaviate
:指定容器名为weaviate
。
--restart=always
:容器在宿主机重启后自动启动。
-p 8080:8080
:将容器内的8080
端口映射到宿主机的8080
端口。
-p 50051:50051
:将容器内的50051
端口映射到宿主机的50051
端口。
-e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:'false'
:设置匿名访问为False
(不允许)
-e AUTHENTICATION_APIKEY_ENABLED:'true'
:开启 API 密钥认证功能
-e AUTHENTICATION_APIKEY_ALLOWED_KEYS:'WF5YThaHlkYwhGSmCRgsX3tD5ngdN8pkih'
:指定允许使用的API
密钥(支持列表)
-e AUTHENTICATION_APIKEY_USERS:'name@email.com'
:指定密钥与用户邮箱(支持列表)