
Weaviate 是 Weaviate Industries 开源的AI-native 向量数据库,BSD-3-Clause 许可,核心引擎用 Go 编写。它把对象数据与向量嵌入统一存储,在单一查询接口中融合向量相似度搜索、BM25 关键字搜索、RAG 生成式搜索与重排 。
官方定位:”The AI database developers love” ——提供 Vector Database、Query Agent、Embeddings、Engram 四大核心能力 。核心差异化:hybrid search 操作符原生融合 BM25 与向量搜索,alpha 参数调节权重(默认 0.75),fusionType 支持 rankedFusion(默认)与 relativeScoreFusion 。它是向量数据库分类中“AI-native + 混合检索原生”的代表作。
产品概述
Weaviate 由 Bob van Luijt 等人于 2019 年在阿姆斯特丹创立,核心引擎用 Go 编写,是首批提出”AI-native vector database”理念的向量数据库之一 。官方服务页面描述:”Weaviate is an open-source vector database that simplifies the development of AI applications. Built-in vector and hybrid search, easy-to-connect machine learning models, and a focus on data privacy enable developers of all levels to build, iterate, and scale AI capabilities faster” 。
核心定位哲学:
官网首页开宗明义——”Design, build and ship complete AI experiences. Vector search, RAG, and memory – all in one open-source platform” 。四个不可妥协的设计原则:
- AI-native 优先:向量搜索、RAG、Agent memory 是一等公民,而非附加功能
- 混合检索原生:BM25 + 向量在数据库内核层融合,单一查询接口
- 模块化向量化器:内置 OpenAI/Cohere/HuggingFace/Google 等向量化模块,无需外部 pipeline
- 部署无关:自托管、托管云、BYOC 同一引擎,自由切换
它做什么 / 不做什么(关键归类):
- ✅ 做:作为向量数据库服务运行 → 接收对象数据 → 通过模块化向量化器(或用户自带向量)生成嵌入 → 构建 HNSW 索引 → 接收查询 → 在单一接口中执行 pure vector / BM25 / hybrid / multimodal 搜索 → 可选 generative search 调用 LLM 生成答案 → 通过 REST/gRPC/GraphQL 返回
- ❌ 不做:不生成 Embeddings 模型本身(需通过模块化向量化器调用外部模型 API)、不做业务级 Agent 编排(是 Agent 的 retrieval/memory 底座,v1.37 起提供预览版原生 MCP server )
- 本质是 AI-native 向量数据库:它是向量数据库分类中“混合检索最原生”的代表——
hybrid操作符是数据库内核的一等公民,BM25 与向量搜索的融合算法(rankedFusion / relativeScoreFusion)可在查询层配置 ,而不像某些向量库那样需要应用层手动融合两次查询。
技术架构 :
- 实现语言:Go(为速度与可靠性而构建)
- 索引算法:HNSW(Hierarchical Navigable Small World)
- 搜索操作符:
- 向量搜索:
nearVector、nearObject、nearText(模块启用时)、nearImage(多模态) - 关键字搜索:
bm25 - 混合搜索:
hybrid(BM25 + 向量融合)
- 向量搜索:
- 接口:REST API + gRPC API + GraphQL API
- 客户端 SDK:Python、JavaScript/TypeScript、Go、Java、C#/.NET
- 模块化架构:
- Vectorizer Modules:text2vec-openai、text2vec-cohere、text2vec-huggingface、multi2vec-clip(多模态)、multi2vec-bind(多模态)等
- Generative Modules:generative-openai、generative-anthropic、generative-cohere、generative-google 等
- Reranker Modules:集成重排模型
- 部署拓扑 :
- 自托管 Docker:
docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:latest - 自托管 Kubernetes:Helm charts,生产推荐路径
- Embedded Weaviate:实验性,客户端进程内启动本地 Weaviate
- Weaviate Cloud:Shared(基础设施由 Weaviate 管理)/ Dedicated(单租户集群)
- BYOC:在客户的 AWS/GCP/Azure VPC 中运行,Weaviate 管理控制面
- 自托管 Docker:
- 能力矩阵:十亿级向量毫秒检索 、高级混合搜索与图像搜索、集成 RAG 与重排、原生水平扩展、多租户、复制、细粒度 RBAC、向量压缩(量化与多向量编码)、Object TTL
v1.37 关键演进(2026 年 4 月) :
- 原生 MCP Server(Preview):MCP 兼容客户端可直接查询数据库
- Diversity Search(MMR Preview):最大边际相关减少结果冗余
- 可扩展分词器、查询性能分析、增量备份
- Gemini Audio 支持:multi2vec-google 模块新增 Gemini 音频
许可策略:BSD-3-Clause 许可证 ,允许商用、修改、分发,需保留版权声明,是宽松许可阵营,但比 Apache-2.0/MIT 在专利授权方面略弱(未明确包含专利授权条款)。
生产验证 :
- 客户案例:9B 向量生产部署(某 RAG 客户)
- 50K+ 租户存储在单一集群(某搜索客户)
- 42M 向量生产部署,1 天完成企业部署(某银行客户)
- 200+ 小时数据库维护时间节省
💡 与同层向量数据库的关键差异:
- vs Milvus:Milvus 是 Go/C++ 云原生分布式,主打万亿级规模;Weaviate 是 Go 编写 AI-native 数据库,主打混合检索原生与模块化 AI 能力,十亿级规模毫秒检索
- vs Qdrant:Qdrant 是 Rust 编写,过滤检索最强、量化降内存极致;Weaviate 是 Go 编写,混合检索原生、模块化向量化器、AI-native 全栈能力
- vs Vespa:Vespa 是搜索+向量+排序+ML 推理一体化引擎,复杂但强大;Weaviate 专注向量数据库核心,但通过模块化 Vectorizer/Generative/Reranker 模块实现 AI 能力内聚
- vs Pinecone:Pinecone 是全托管 SaaS(闭源);Weaviate 开源 BSD-3-Clause,自托管/托管云/BYOC 多形态,无供应商锁定
- vs VikingDB(已收录):VikingDB 是火山/BytePlus 云原生全托管向量数据库,百亿级、多模态、稠密+稀疏混合检索、存算分离;Weaviate 是开源等价物,混合检索原生,自托管可控
核心能力
-原生混合检索(核心差异化)
- hybrid 操作符:单一查询同时执行 BM25 与向量搜索
- alpha 权重调节:0=纯 BM25,1=纯向量,0.75 默认,0.5 均衡
- 融合算法可选:
rankedFusion(默认):倒排排名相加融合relativeScoreFusion:归一化分数相加融合
- bm25SearchOperator:v1.31.0+ 支持配置 BM25 查询 token 匹配阈值
- 最佳实践:AIMultiple 2026 年 7 月基准测试显示,在 5 万文档医学/技术语料上,Weaviate 的混合融合相较纯向量搜索带来可测量的 +0.030 nDCG 提升
-AI-native 模块化
- Vectorizer Modules:text2vec-openai、text2vec-cohere、text2vec-huggingface、text2vec-google、multi2vec-clip(图文多模态)、multi2vec-bind(多模态)等
- Generative Modules:generative-openai、generative-anthropic、generative-cohere、generative-google、generative-ollama(本地)
- Reranker Modules:集成重排模型
- 自带或外接:既可让 Weaviate 在导入时自动向量化,也可导入预生成向量
- No external embedding pipeline required:内置向量生成,从文本、图像等直接生成
-多模态与命名向量
- 多模态搜索:依赖 multi2vec-clip、multi2vec-bind 等模块,支持文本↔图像跨模态搜索
- Named Vectors:同一集合中可配置多个命名向量,查询时指定
target_vector - nearText / nearImage / nearObject:模块启用时的多模态查询操作符
-集成 RAG 与重排
- Generative Search:查询时调用配置的 LLM 生成答案,支持
single_prompt(逐对象生成)与grouped_task(分组任务) - Reranking:内置重排能力
- Query Agent(v1.30+):将自然语言问题自动转化为优化的 Weaviate 查询,无需手动构造查询
- Translation Agent(v1.30+):用生成模型增强现有对象
-生产级可靠性
- 十亿级毫秒检索:官方基准测试显示十亿级向量毫秒级搜索
- 原生水平扩展:原生支持水平扩展、多租户、复制
- 细粒度 RBAC:v1.29/1.30+ 内置 RBAC 系统,可在集合、租户、操作级别钉固权限
- 向量压缩:向量量化与多向量编码降低内存占用,对搜索性能影响最小
- Object TTL:按集合配置自动过期与清理陈旧数据
- 可配置备份:零停机备份
- 租户隔离:严格资源隔离确保安全
- v1.34 可观测性:30+ 新监控指标,Prometheus 格式暴露
-多形态部署
- 自托管 Docker:
docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:latest - 自托管 Kubernetes:Helm charts,生产推荐路径
- Embedded Weaviate:实验性,Python/Node.js 脚本内启动本地进程
- Weaviate Cloud Shared:基础设施由 Weaviate 管理
- Weaviate Cloud Dedicated:单租户专用集群
- BYOC:在客户 AWS/GCP/Azure VPC 中运行,Weaviate 管理控制面
- 核心引擎一致性:跨部署模式使用相同 Weaviate Database
-开发者体验
- 多语言 SDK:Python、JavaScript/TypeScript、Go、Java、C#/.NET
- 三协议接口:REST API、gRPC API、GraphQL API
- Python Client v4:
pip install -U weaviate-client - 快速起步:
client = weaviate.connect_to_local()
-生态集成
- RAG 框架:LangChain、LlamaIndex、Haystack、Agno
- 模型提供商:OpenAI、Cohere、Hugging Face、Google 等通过模块系统集成
- MCP Server(v1.37 Preview):MCP 兼容客户端与编程 Agent 可直接查询
- Verba:Weaviate 官方 RAG 参考应用
优势亮点
- BSD-3-Clause 许可:宽松许可,允许商用、修改、分发(需保留版权声明)
- AI-native 设计哲学:Vector search、RAG、Agent memory 是一等公民
- 混合检索最原生:hybrid 操作符 + alpha 权重 + 双融合算法,单一查询接口完成 BM25+向量融合
- 模块化向量化器:内置 OpenAI/Cohere/HuggingFace/Google 等,无需外部 embedding pipeline
- 十亿级毫秒检索:Go 编写的高性能引擎,十亿级向量毫秒级搜索
- 多模态原生:multi2vec-clip、multi2vec-bind 模块支持文本↔图像跨模态搜索
- 查询代理(Query Agent):自然语言自动转查询,降低使用门槛
- 部署无关:自托管/Docker/K8s/Weaviate Cloud/BYOC 同一引擎,自由切换无供应商锁定
- 企业级多租户:50K+ 租户单一集群生产验证,严格资源隔离
- 细粒度 RBAC:v1.29+ 内置,集合/租户/操作级权限控制
- v1.37 原生 MCP Server:MCP 兼容客户端与编程 Agent 可直接查询(Preview)
- 生产验证充分:9B 向量、42M 向量、50K+ 租户等大规模生产案例
- SOC 2 Type II 认证:企业级合规,HIPAA 在 Enterprise/Dedicated(AWS)可用
- ~16.7K GitHub Stars:AI-native 向量数据库社区认知度最高之一
- 2026 基准优异:AIMultiple 测试 32 并发 worker 下达 8,330 QPS 峰值吞吐,七引擎中最高
局限
- 自己不生成 Embeddings 模型:需通过模块化向量化器调用外部模型 API(OpenAI/Cohere/Google 等),或用户预生成向量导入
- 超大规模不及 Milvus:Milvus 分布式架构可达万亿级;Weaviate 官方定位十亿级毫秒检索
- 过滤检索不如 Qdrant 极致:Qdrant 的 HNSW 遍历期过滤在 metadata-heavy 场景召回率与延迟表现更强;Weaviate 的高级过滤在毫秒级响应大型数据集
- 搜索+排序一体化不如 Vespa:Vespa 内置分布式 ML 模型推理做 relevance ranking;Weaviate 通过 Reranker 模块实现,重排能力依赖外部模块
- BSD-3-Clause 许可:虽宽松,但相比 Apache-2.0/MIT 未明确包含专利授权条款
- Python Client v3→v4 破坏性变更:导入结构、对象模型、查询 API 全部改写,迁移需投入
- Schema-first 设计摩擦:任何元数据结构调整需 schema 迁移,而非简单插入字段
- GraphQL 查询冗长:复杂查询的 GraphQL 语法较为繁琐
- 自托管运维负担:K8s 生产部署需要容器编排、复制、集群管理经验
- 与 Pinecone 对比:Pinecone 全托管零运维但闭源+供应商锁定;Weaviate 开源可控但自托管需运维(或用 Weaviate Cloud)
- 量化精度权衡:向量压缩(量化与多向量编码)在降低内存的同时对搜索性能有微小影响
- v1.37 MCP Server 仍为 Preview:生产使用需评估稳定性
适用人群
- AI-native 应用开发者:希望向量搜索、RAG、Agent memory 作为数据库原生能力
- 混合检索需求方:需要 BM25 精确匹配 + 向量语义理解的 RAG/搜索应用
- 多模态检索系统:图文跨模态搜索、多模态 RAG
- 企业多租户 SaaS:需要严格租户隔离的 SaaS 平台(50K+ 租户单一集群验证)
- 数据主权与合规:金融、医疗、政企等受监管行业,需自托管或 BYOC
- EU 数据驻留:Weaviate 阿姆斯特丹总部,SOC 2 Type II + HIPAA(AWS)合规
- RAG 生产系统:需要 hybrid search + generative search + reranking 的统一查询接口
- Agent 记忆层:v1.37 原生 MCP Server 让 Agent 直接查询数据库
- 不想供应商锁定:BSD-3-Clause 开源,自托管/托管云/BYOC 自由切换
- 已有 K8s 基础设施:Helm charts 生产部署
安装与部署
1. 环境要求
- Linux x86_64 / ARM64
- Docker(快速起步)或 Kubernetes(生产)
- 自托管:单二进制容器,无外部依赖
2. Docker 一键启动
# 启动 Weaviate 服务 docker run -p 8080:8080 -p 50051:50051 \ -e AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true \ -e PERSISTENCE_DATA_PATH=/var/lib/weaviate \ cr.weaviate.io/semitechnologies/weaviate:latest # REST API: http://localhost:8080 # gRPC: localhost:50051
3. Python SDK 快速使用
import weaviate
import weaviate.classes as wvc
# 连接本地 Weaviate
client = weaviate.connect_to_local(
headers={"X-OpenAI-Api-Key": "your-openai-key"} # 用于内置向量化器
)
# 创建集合(自动向量化)
client.collections.create(
name="Article",
vectorizer_config=wvc.config.Configure.Vectorizer.text2vec_openai(),
generative_config=wvc.config.Configure.Generative.openai()
)
# 插入数据(自动生成嵌入)
collection = client.collections.get("Article")
collection.data.insert({"title": "Hello world"})
# 纯向量搜索
response = collection.query.near_text(
query="login issues after OS upgrade",
limit=5
)
# 混合搜索(BM25 + 向量,alpha=0.75 默认)
response = collection.query.hybrid(
query="login issues after OS upgrade",
alpha=0.75,
limit=5
)
# 生成式搜索(RAG)
response = collection.generate.near_text(
query="login issues after OS upgrade",
limit=2,
single_prompt="Summarize this article: {title}"
)
client.close()
4. Kubernetes 生产部署
# 使用 Helm charts # 生产自托管推荐路径 helm repo add weaviate https://weaviate.github.io/weaviate-helm helm install my-weaviate weaviate/weaviate # 或参考 GKE 部署教程 # https://cloud.google.com/kubernetes-engine/docs/deploy-weaviate-on-gke
5. Weaviate Cloud 全托管
import weaviate
import weaviate.classes as wvc
# 连接 Weaviate Cloud
client = weaviate.connect_to_weaviate_cloud(
cluster_url="your-cluster-id.weaviate.network",
auth_credentials=wvc.init.Auth.api_key("your-api-key"),
headers={"X-OpenAI-Api-Key": "your-openai-key"}
)
# 后续 API 与自托管完全一致
6. 混合检索深度配置
# 使用 relativeScoreFusion 替代默认 rankedFusion
response = collection.query.hybrid(
query="login issues after OS upgrade",
alpha=0.5, # BM25 与向量均衡
fusion_type="relativeScoreFusion",
limit=5
)
# 配置 bm25 搜索操作符(v1.31.0+)
response = collection.query.hybrid(
query="error code 404",
alpha=0.3, # 偏向 BM25
bm25_search_operator={
"minimum_number_should_match": 1
},
limit=5
)
7. 部署前必检清单
- 确认仓库位于
github.com/weaviate/weaviate(官方) - 许可:BSD-3-Clause ,宽松许可需保留版权声明
- 严格属于向量数据库分类,“AI-native + 混合检索原生”子类
- 官方定位:”The AI database developers love”
- 开发方:Weaviate Industries B.V.(Amsterdam,2019 年创立)
- 实现语言:Go
- 最新版本:v1.38.x(2026 年 8 月);v1.37(2026 年 4 月)引入原生 MCP Server Preview
- 社区规模:~16.7K GitHub Stars
- 核心能力:
- 原生混合检索(hybrid 操作符,alpha 权重,rankedFusion/relativeScoreFusion 双融合算法)
- 模块化向量化器(OpenAI/Cohere/HuggingFace/Google/multi2vec-clip/multi2vec-bind)
- 多模态搜索(文本↔图像跨模态)
- Named Vectors(多向量)
- 集成 RAG(Generative Search)+ Reranking
- Query Agent(自然语言转查询)
- 十亿级向量毫秒检索
- 原生水平扩展、多租户、复制、细粒度 RBAC
- 向量压缩(量化与多向量编码)、Object TTL
- 接口:REST API + gRPC API + GraphQL API
- SDK:Python、JavaScript/TypeScript、Go、Java、C#/.NET
- 部署形态:自托管 Docker / K8s / Embedded(实验)/ Weaviate Cloud(Shared & Dedicated)/ BYOC
- 合规:SOC 2 Type II 认证;HIPAA 在 Enterprise/Dedicated(AWS)可用
- 定价:Free 层 $0(10 万对象);Flex 从 $45/月起;Plus 从 $280/月;Premium 从 $400/月;BYOC 从 ~$1,390/月
- 自己不生成 Embeddings 模型,需通过模块化向量化器调用外部 API 或导入预生成向量
相关导航


Pinecone

Milvus

Qdrant

