📦 项目简介
Weaviate 是一款开源、云原生的向量数据库,同时存储对象和向量,支持大规模语义搜索。它将向量相似度搜索、关键词过滤、检索增强生成(RAG)和重排序功能整合到单个查询接口中,是构建 AI 应用的理想数据底座。

⚙️ 安装要求和过程
环境要求
- Docker 20.10+(推荐方式)
- 内存:最低 4GB RAM,生产环境建议 8GB+
- 客户端:Python 3.8+、Node.js 16+、Java 11+、Go 1.18+
快速安装(Docker 本地部署)
第一步:创建 docker-compose.yml:
services:
weaviate:
image: cr.weaviate.io/semitechnologies/weaviate:1.36.0
ports:
- "8080:8080"
- "50051:50051"
environment:
ENABLE_MODULES: text2vec-model2vec
MODEL2VEC_INFERENCE_API: http://text2vec-model2vec:8080
text2vec-model2vec:
image: cr.weaviate.io/semitechnologies/model2vec-inference:minishlab-potion-base-32M
第二步:启动 & 安装客户端
docker compose up -d
pip install -U weaviate-client
也可使用 Weaviate Cloud 免费试用,或部署到 Kubernetes/AWS/GCP。
🚀 核心功能
⚡ 毫秒级十亿向量搜索
基于 Go 构建,HNSW 索引,十亿级向量语义搜索毫秒返回。
🔀 混合检索(向量+关键词+过滤)
单接口同时支持语义搜索、BM25 关键词搜索、图像搜索,内置 hybrid 查询自动融合分数。
🤖 内置 RAG & 重排序
无需额外工具,直接支持生成式搜索(RAG)和重排序,快速构建 Q&A、聊天机器人。
📈 生产级可扩展性
支持水平扩展、多租户隔离、副本、RBAC 权限控制,Kubernetes 原生编排。
💾 向量压缩 & TTL
内置标量/二进制/产品量化,大幅降低内存占用;支持对象 TTL 自动清理过期数据。
💡 典型使用场景
场景一:RAG 检索增强生成系统
将企业文档导入 Weaviate,结合 LLM 构建精准问答系统,大幅降低幻觉率。
import weaviate
from weaviate.classes.query import Filter
client = weaviate.connect_to_local()
results = client.collections.get("Document").query.near_text(
query="如何申请退款?", limit=5,
filters=Filter.by_property("category").equal("help")
)
for obj in results.objects:
print(obj.properties["content"])
场景二:语义搜索 & 推荐引擎
电商/内容平台实现”理解意图”的搜索,支持多模态(文本+图像)检索。
📌 推荐理由
- 生态最完整:Python/JS/Java/Go/C# 五大官方 SDK
- AI Agent 集成:官方提供 Agent Skills,支持 Claude Code/Cursor
- 商业友好:BSD-3-Clause 许可,可自由修改和分发
- 云原生架构:存储计算分离,Kubernetes 原生,水平扩展无忧
📥 下载地址 & 相关链接
- 🌐 项目官网
- 🐙 GitHub 仓库(16.4K+ Stars)
- 📚 官方文档
- 🐳 Docker:
cr.weaviate.io/semitechnologies/weaviate:latest - ☁️ Weaviate Cloud(免费试用)
✝️ BSD 3-Clause License | Go | 2016年发布
