跳到主要内容
Vantaige
Weaviate screenshot
Weaviate logo

Weaviate

免费增值

Weaviate 是一款开源向量数据库,可将对象与向量嵌入存储在一起,从而支持混合搜索、RAG 流水线和 AI 智能体工作流。它提供基于 BSD-3 许可证的自托管版本,或通过 AWS、GCP 和 Azure 上的 Weaviate Cloud 提供托管服务。

使用场景:代码与开发
功能:APIOpen Source

Weaviate 是一款开源向量数据库,由总部位于阿姆斯特丹的 Weaviate B.V.(由首席执行官 Bob van Luijt 创立)开发。从一开始,它的设计理念就是将向量嵌入与类型化对象属性同等对待,作为数据库的一等公民,这使其有别于 Facebook 的 FAISS 等独立的向量库。FAISS 是一个附加在数据库上的搜索库,而 Weaviate 本身就是数据库:它原生支持持久化、复制、多租户、Schema 管理和过滤功能。该项目采用 BSD-3-Clause 许可证,可在 github.com/weaviate/weaviate 获取,截至 2026 年 4 月,其 GitHub 星标数已超过 12,000。

核心功能包括混合搜索(在单次查询中结合向量相似度与 BM25 关键词搜索)、针对 OpenAI、Cohere 和 Hugging Face 的内置向量化模块(因此您可以直接摄取原始文本,让 Weaviate 调用嵌入 API)、用于高吞吐量查询的 gRPC 接口,以及具有每租户索引管理功能的多租户架构。2025 年 3 月,Weaviate 推出了三个数据库智能体:查询智能体(Query Agent,对数据进行自然语言查询)、转换智能体(Transformation Agent,批量数据丰富与清洗)和个性化智能体(Personalization Agent,基于 LLM 的推荐重排)。部署选项包括 Docker、通过 Helm 部署的 Kubernetes,以及在 AWS、GCP 和 Azure 上运行的 Weaviate Cloud Services。

截至 2026 年 4 月 Weaviate 的实际功能

2026 年 3 月发布的 Weaviate 1.32 是稳定的生产版本。每个 Weaviate 集合都包含类型化属性(字符串、数字、日期、对其他对象的引用)以及一个或多个向量表示。这种双重结构意味着,单次 Weaviate 查询即可检索出同时符合语义意图(通过 HNSW 近似最近邻搜索)和精确结构化标准(通过内联元数据过滤器)的对象,而无需进行二次数据库查询。

混合搜索是 Weaviate 的旗舰功能。系统并行运行稠密向量搜索和稀疏 BM25 关键词搜索,然后使用倒数排名融合 (RRF) 或相对分数融合将两个结果列表合并。开发者可以通过设置 0(纯关键词)到 1(纯向量)之间的 alpha 参数来调整两者的权重平衡。2025 年 10 月,Weaviate 随 1.25 版本发布了 Hybrid Search 2.0:这是一次全面重写,将以前独立的 HNSW 和 BM25 索引统一为单一结构。在 BEIR 数据集上的基准测试显示,p50 查询延迟从 85ms 降至 34ms(提升 60%),p95 延迟从 240ms 降至 78ms,吞吐量从每秒 1,200 次查询增加到 3,500 次,MS MARCO 上的 NDCG 从 41.3 升至 45.7。统一索引多占用了 15% 的 RAM,但消除了合并开销并减少了磁盘使用量。

Weaviate 的向量化模块提供了极大的便利。例如,text2vec-openai 模块会拦截插入操作,调用 OpenAI Embeddings API,存储返回的向量并自动建立索引。希望预先计算嵌入的团队可以完全跳过这些模块,直接推送裸向量。嵌入式 Weaviate 模式允许您在开发期间在进程内运行完整的 Weaviate 实例,而无需设置 Docker。

“它非常适合 RAG、LLM 等,并且具有该领域的内置功能,例如混合搜索和多租户。” - 匿名评论者,Gartner Peer Insights,2025 年 9 月

Weaviate 与 Pinecone 和 Qdrant 的定位对比

这三种服务是生产级向量搜索中最常被拿来比较的选项,它们在机制上的差异对实际部署决策有着重要影响。

Pinecone 是完全托管且闭源的。在任何价格层级都没有自托管选项;您的数据要么存放在 Pinecone 的基础设施中,要么就别用。Pinecone 使用专有的基于 Pod 的架构(s1、p1、p2)和较新的无服务器索引模型。它不公开 HNSW 参数、量化设置或索引内部结构。Pinecone 在 2023 年添加了稀疏-稠密混合搜索支持,但其实现使用的是独立的稀疏和稠密索引并进行加权合并,而不是 Weaviate 在 1.25 中引入的统一索引。对于希望零运维开销且不介意完全被供应商锁定的团队来说,Pinecone 是最简单的途径。但对于需要数据主权、大规模成本控制或调整索引参数能力的团队来说,它不是一个可行的选择。Pinecone 的付费计划针对最小工作负载的起价约为 $70/月。

Qdrant 是开源的,使用 Rust 编写。Rust 实现是关键的架构差异:在已发布的基准测试中,在同等硬件上,Qdrant 的查询吞吐量始终比 Weaviate 高出 2-5 倍(2025 年:Qdrant 12,000 QPS 对比 Weaviate 4,000 QPS;Qdrant p99 延迟 2ms 对比 Weaviate 10ms)。Qdrant 还支持磁盘 HNSW 索引,允许超出 RAM 容量的数据集保持可查询状态,而 Weaviate 的 HNSW 实现原生并不支持这一点。Qdrant 不及 Weaviate 的地方在于:没有内置的向量化模块(您必须自己预先计算并推送所有嵌入),没有带交叉引用的对象属性 Schema,且集成和智能体生态系统较小。Qdrant 的 Universal Query API 使用预取和重排架构进行多阶段检索,这与 Weaviate 的并行 alpha 加权融合模型不同。云计划起价约为 $25/月。

实际的选择分水岭:当您的应用程序需要对象建模(记录之间的交叉引用)、内置嵌入 API 调用,或者需要与向量搜索紧密耦合的结构化过滤器的便利性时,Weaviate 是更好的选择。对于具有预计算嵌入的纯 ANN 工作负载,Qdrant 在原始吞吐量和内存效率方面胜出。

“它还简化了 RAG 流水线的构建,因为向量存储和过滤逻辑已经存在,所以我只需将我的 LLM 连接到它即可。基本上,它减少了设置的痛苦,让我能够专注于实际的应用程序,而不是为基础设施头疼。” - 匿名评论者,G2,2024 年

日常开发和部署的实际情况

通过 Docker Compose 开始使用 Weaviate 非常简单:只需一个 docker-compose.yml 即可拉取 Weaviate 镜像,暴露 8080 端口,并可选择包含一个向量化模块容器(例如,用于本地嵌入计算的 text2vec-transformers)。Python 和 TypeScript SDK(截至 2024 年为 v4 版本)是主要接口;同时也提供 GraphQL 和 gRPC。

在生产环境中,情况会因规模而异。对于多租户 SaaS 应用程序,Weaviate 的原生多租户功能非常实用:每个租户的数据都存放在隔离的分片中,动态索引(Dynamic Index)让所有租户从内存高效的 Flat 索引开始,一旦租户的数据超过阈值,就会自动升级为 HNSW。这使得资源使用量与实际使用量成正比,而不是按最坏情况分配。

改变索引架构的升级需要停机来重建索引。1.25 版本中的 Hybrid Search 2.0 迁移就是一个显著的例子:自托管用户必须重建所有受影响的索引,而 Weaviate Cloud 用户则自动接收了升级。对于在对延迟敏感的环境中运行自托管 Weaviate 的团队来说,这是一个切实的运维考量。

2025 年 3 月推出的三个智能体增加了一个更高级别的接口。查询智能体(Query Agent)接受自然语言指令,在内部构建底层 Weaviate 查询,链接结果集,并返回结构化输出,从而减少了为探索性检索任务编写显式 GraphQL 或 SDK 代码的需求。转换智能体(Transformation Agent)通过针对 Weaviate 中已有数据的自然语言指令,处理批量数据丰富作业(元数据生成、翻译、分类)。

Weaviate 适合哪些用户

Weaviate 非常适合那些构建“检索质量比最大化原始吞吐量更重要”的应用程序的团队。典型用户是构建 RAG 系统、语义搜索功能或 AI 智能体工作流的 Python 或 TypeScript 开发者,他们希望由一项服务(而不是三项服务)来处理向量存储、结构化过滤器和混合关键词加语义搜索。

多租户 SaaS 团队受益于 Weaviate 的每租户隔离模型,该模型自然映射到每个租户一个分片的架构,无需自定义分片逻辑。有数据主权要求的企业团队受益于采用 BSD-3 许可证的自托管部署,该部署对商业使用没有任何限制。拥有现有嵌入基础设施(离线预计算向量)的团队可以推送裸向量;没有该设施的团队可以使用内置的向量化模块,将嵌入 API 调用委托给 Weaviate。

2023 年 4 月的 B 轮融资(5000 万美元,由 Index Ventures 领投,Battery Ventures、NEA、Cortical Ventures、Zetta Venture Partners 和 ING Ventures 参投)恰逢 Weaviate 开源下载量突破 200 万次并推出生成式搜索支持,这标志着市场验证和持续发展的资金保障。

Weaviate 不是什么

当超大规模下的原始查询吞吐量是主要制约因素时,Weaviate 并不是合适的工具。在并发负载下处理 1000 万以上向量时,Qdrant 的 Rust 实现在同等硬件上可实现 2-5 倍的 QPS。如果您需要处理 5000 万以上向量,并在数千个并发查询中保持亚毫秒级的 p99 延迟,Milvus 或 Qdrant 是更站得住脚的基础设施选择。

Weaviate 也不是零配置的托管服务。自托管部署需要 Docker 或 Kubernetes 的运维经验。HNSW 索引会将完整的图结构加载到 RAM 中,拥有大型集合(1800 万以上对象)的用户报告过意外的延迟峰值,特别是在同时进行读写负载的情况下。一个社区论坛帖子记录了在连续写入/删除周期下单实例部署中的内存压力错误,用户在 RAM 耗尽后遇到了“无法加载分片”的错误。

它不是通用的业务数据库。您不应将 Weaviate 作为 PostgreSQL 或 MongoDB 的替代品用于事务性工作负载。它不支持事务,与 SQL 相比聚合功能有限,如果您的应用程序还有结构化关系数据需求,则需要运维额外的数据存储。其云定价模型从 $45/月(Flex)直接跳到 $400/月(Premium),这为那些工作负载对于 Flex 来说太大,但又不足以证明 Premium 投入合理性的团队创造了一个尴尬的中间地带。

用户评价

暂无评价,快来分享你的第一条体验吧!

登录 后即可撰写评价。

收录于精选合集

包含 Weaviate 的精选合集。

相关文章

与 Weaviate 相关的指南和文章。