Weaviate 1.38 发布
此版本将基于磁盘的矢量索引 HFresh 和内置 MCP 服务器正式发布,重新设计了集群范围的异步复制,并新增了 Boost API 和嵌套对象过滤两个预览功能。
Weaviate v1.38 现已开源并在 Weaviate Cloud 上可用。
此版本将两项功能正式推出:HFresh 磁盘矢量索引和内置 MCP 服务器。异步复制已重构为从单个调度器跨集群运行,并且现在默认在每个副本集合上启用。同时新增加了两个预览功能:Boost API 用于查询时重新评分,以及嵌套对象过滤。
HFresh 矢量索引(正式可用)
HFresh 是基于磁盘的矢量索引,受 SPFresh 算法启发。它将矢量分组到磁盘上的区域(称为发布列表),并在内存中保留一个小型 HNSW 索引来管理这些区域的重心,从而决定读取哪些区域。随着集合增长到数十亿级别,内存占用保持低位,延迟保持可预测。HFresh 支持余弦和 L2 平方距离度量,并内置 RQ-1 量化。与需要在磁盘上周期性重建的索引不同,HFresh 通过增量重新平衡(拆分过大的发布列表、合并过小的发布列表、重新分配矢量)来维持性能。要启用 HFresh,只需在矢量配置中设置 vector_index_config 为 hfresh 即可。
MCP 服务器(正式可用)
内置的模型上下文协议(MCP)服务器现已正式可用。它使 LLM、IDE 和 AI 代理能够直接与 Weaviate 交互——检查模式、运行混合搜索以及写入对象——无需胶水代码。该服务器在 /v1/mcp 端点上作为 Streamable HTTP 端点运行,使用 Bearer/API 密钥进行身份验证,并遵守 Weaviate 的标准 RBAC 权限。它公开了四个工具:检查集合配置、列出多租户集合的租户、运行混合搜索以及插入或更新对象。在 v1.38 中,MCP 服务器的启用标记现在可以在运行时配置,无需重启集群。
异步复制,无处不在
异步复制是在复制因子大于 1 的集合上保持副本同步的后台修复过程。在 v1.38 中,它已重新架构为从单个调度器跨集群运行,而不是按集合单独配置和运行。现在它默认在每个 RF > 1 的集合上启用。一个调度器协调所有复制集合的异步修复,共享一个工作线程池。之前的按集合设置 maxWorkers 和 enabled 已被移除,取而代之的是两个集群级控制:ASYNC_REPLICATION_SCHEDULER_WORKERS(设置共享池大小)和 ASYNC_REPLICATION_DISABLED(运行时杀死开关)。
Boost API(预览)
有时候您希望调整结果而不删除任何结果。过滤器过于生硬——它会删除所有不匹配的结果——而实际上您可能希望将新鲜文章排名更高,或优先显示库存产品,同时保留完整结果集。新的 Boost API 正是为此而生。Boost 在主要搜索之后运行,通过将原始分数与一个或多个提升条件混合来重新评分候选结果,然后重新排序——提升或降低结果,而不删除任何结果。条件可以基于过滤器匹配、属性值、时间衰减或数值衰减。权重(0-1)决定了提升对最终分数的影响。Boost 仅通过 gRPC 可用,单个查询最多可应用 20 个条件。
嵌套对象过滤(预览)
Weaviate v1.38 增加了一个预览功能,允许对嵌套对象属性进行过滤。在此之前,object 和 object[] 属性可以存储但无法直接过滤。现在,您可以通过点路径(例如 cars.make)引用嵌套字段进行过滤。该功能默认关闭,需要通过环境变量 WEAVIATE_PREVIEW_NESTED_FILTERING 启用。一旦启用,点路径可以在任何需要属性名称的地方使用,包括来自客户端。这适用于 object 和 object[] 属性内的嵌套数据。
性能改进和修复
除了主要功能外,v1.38 还包含一系列改进: 生产就绪的副本移动(基于变更捕获日志)、默认矢量索引类型设置、使用限制(对象数、集合数、租户数、分片数的服务器端限制)、新模块 text2vec-digitalocean、备份可靠性改进(不再暂停压缩,对象存储列表更快)、分数 BM25 属性提升、确定性平局打破、更快的启动速度和改进的压缩矢量索引缓存。
社区贡献
感谢多位首次贡献者的贡献,包括 @dillonledoux(text2vec-digitalocean 模块)、@anishesg(倒排索引和 HFresh 修复)、@msnandhis(分数 BM25 属性提升)、@3em0(拒绝重复静态 API 密钥)、@kedar49(DB 用户标识符冲突检查)和 @SAY-5(HFresh 稳定性修复)。
总结
Weaviate v1.38 将两项功能正式发布(HFresh 和 MCP 服务器),同时重构了异步复制路径并新增了两个预览功能。关键亮点包括:HFresh(正式可用)用于流式工作负载,MCP 服务器(正式可用)提供 AI 代理集成,集群范围的异步复制默认启用,以及 Boost API 和嵌套对象过滤的预览。
开始使用吧!
该版本已在 GitHub 上开源,并已在 Weaviate Cloud 上提供新沙盒。升级自托管版本的用户请查看迁移指南中的版本说明。