简介
Weaviate 是一个开源的向量数据库和搜索引擎,专门用于存储、搜索和分析向量数据。它提供了一个简单易用的 REST API,使得用户可以轻松地将向量数据存储到数据库中,并且能够以高效的方式进行相似向量的搜索。
以下是一些 Weaviate 向量库的特点和优势:
支持向量数据: Weaviate 专门针对向量数据进行了优化,可以高效地存储和检索向量数据,适用于各种类型的向量数据,如图像特征、文本向量、语音特征等。
相似向量搜索: Weaviate 提供了强大的相似向量搜索功能,用户可以轻松地搜索与给定向量最相似的其他向量,用于推荐系统、相似图片搜索、语义搜索等场景。
REST API: Weaviate 提供了简单易用的 REST API,使得用户可以通过 HTTP 请求对向量数据进行 CRUD 操作,同时也支持复杂的查询和搜索操作。
开源: Weaviate 是一个开源项目,源代码托管在 GitHub 上,用户可以自由地查看源代码、提交问题和贡献代码。
可扩展性: Weaviate 具有良好的可扩展性,支持在分布式环境下部署,可以轻松地扩展以处理大规模的向量数据。
社区支持: Weaviate 拥有活跃的开发者社区,提供了丰富的文档、示例和教程,用户可以从社区中获得支持和帮助。
官网:https://weaviate.io/developers/weaviate
安装步骤
mkdir -p /data/weaviate
chmod -R 755 /data/weaviate
mkdir weaviate
cd weaviate
tee docker-compose.yaml <<EOF
version: '3.1'
services:
weaviate:
image: semitechnologies/weaviate:1.19.0
restart: always
volumes:
# Mount the Weaviate data directory to the container.
- /data/weaviate:/var/lib/weaviate
environment:
# The Weaviate configurations
# You can refer to the [Weaviate](https://weaviate.io/developers/weaviate/config-refs/env-vars) documentation for more information.
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'false'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
DEFAULT_VECTORIZER_MODULE: 'none'
CLUSTER_HOSTNAME: 'node1'
AUTHENTICATION_APIKEY_ENABLED: 'true'
AUTHENTICATION_APIKEY_ALLOWED_KEYS: 'key1,key2'
AUTHENTICATION_APIKEY_USERS: 'user1, user2'
AUTHORIZATION_ADMINLIST_ENABLED: 'true'
AUTHORIZATION_ADMINLIST_USERS: 'user1, user2'
ports:
- "8080:8080"
EOF
docker compose up -d
## 检查
curl -i http://localhost:8080/v1/.well-known/live
curl -i http://localhost:8080/v1/.well-known/ready
curl -H 'Authorization: Bearer key1' http://localhost:8080/v1/schema
# 删除集合
curl -H 'Authorization: Bearer <api_key>' -X DELETE http://localhost:8080/v1/schema/<collection_name>