Python:向量数据库(Weaviate)应用开发实践


前言

  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修改为国内镜像源

  1. 修改或者创建文件:vi /etc/docker/daemon.json
  2. 输入以下内容:
{
   
   
    "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' :指定密钥与用户邮箱(支持列表)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值