AI News HubLIVE
サイト内リライト3 分で読了

Weaviate 1.38 リリース

このリリースでは、ディスクベースのベクトルインデックスHFreshと内蔵MCPサーバーがGAとなり、クラスター全体の非同期レプリケーションが再構築され、Boost APIとネストされたオブジェクトフィルタリングの2つのプレビューが追加されました。

ソースWeaviate Blog

Weaviate v1.38 がオープンソースおよび Weaviate Cloud で利用可能になりました。

このリリースでは、ディスクベースのベクトルインデックス HFresh と内蔵 MCP サーバーが一般提供(GA)となりました。非同期レプリケーションは単一スケジューラーからクラスター全体で動作するように再構築され、すべてのレプリケートされたコレクションでデフォルトで有効になりました。さらに、Boost API(クエリ時再スコアリング)とネストオブジェクトフィルタリングの2つのプレビュー機能が追加されました。

HFresh ベクトルインデックス(GA)

HFresh はディスクベースのベクトルインデックスで、SPFresh アルゴリズムに触発されています。ベクトルをポスティングと呼ばれるディスク上のリージョンにグループ化し、その重心に対する小さなインメモリ HNSW インデックスを保持して、どのリージョンを読み取るかを決定します。コレクションが数十億に成長してもメモリは低く抑えられ、レイテンシは予測可能です。HFresh はコサイン距離と L2 二乗距離メトリクスをサポートし、RQ-1 量子化が組み込まれています。過大なポスティングの分割、過小なポスティングのマージ、境界の変化に応じたベクトルの再割り当てをインクリメンタルに行うため、定期的な再構築を必要としません。HFresh は名前付きベクトルごとにベクトルインデックス設定で選択します。

MCP サーバー(GA)

内蔵の Model Context Protocol(MCP)サーバーが GA になりました。LLM、IDE、AI エージェントが直接 Weaviate と連携できるようになり、スキーマの検査、ハイブリッド検索の実行、オブジェクトの書き込みをグルーコードなしで行えます。サーバーは /v1/mcp エンドポイントで Streamable HTTP エンドポイントとして動作し、Bearer/API キーで認証し、Weaviate の標準 RBAC 権限を尊重します。4つのツールを公開: コレクション設定の取得、マルチテナントコレクションのテナント一覧、ハイブリッド検索、オブジェクトの挿入/更新。v1.38 では、MCP サーバーの有効化フラグがランタイム設定可能になり、クラスターを再起動せずに変更を適用できます。

非同期レプリケーション、あらゆる場所に

非同期レプリケーションは、レプリケーションファクターが1より大きいコレクションでレプリカの同期を維持するバックグラウンド修復プロセスです。v1.38 では、コレクションごとに個別に構成および実行されるのではなく、単一のスケジューラーからクラスター全体で実行されるように再構築されました。RF > 1 のすべてのコレクションでデフォルトで有効になっています。1つのスケジューラーがすべてのレプリケートされたコレクションの非同期修復を調整し、共有ワーカープールを使用します。以前のコレクションごとの maxWorkers と enabled 設定は廃止され、代わりに2つのクラスターレベルの制御が導入されました: ASYNC_REPLICATION_SCHEDULER_WORKERS(共有プールのサイズ)と ASYNC_REPLICATION_DISABLED(ランタイムキルスイッチ)。

Boost API(プレビュー)

結果を削除せずに微調整したい場合があります。フィルターは粗すぎますが、Boost API はプライマリ検索後に候補を再スコアリングし、条件(フィルターマッチ、プロパティ値、時間減衰、数値減衰)に基づいて結果を昇格または降格します。重み(0-1)はブーストが最終スコアに与える影響を設定します。Boost は gRPC のみで利用可能で、1回のクエリで最大20個の条件を適用できます。

ネストオブジェクトフィルタリング(プレビュー)

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 サーバーの2つの機能を一般提供し、非同期レプリケーションパスを再構築し、2つの新しいプレビューを追加しました。主なハイライト: HFresh(GA)、MCP サーバー(GA)、クラスター全体の非同期レプリケーション(デフォルトで有効)、Boost API(プレビュー)、ネストオブジェクトフィルタリング(プレビュー)。

さあ、始めましょう!

このリリースは GitHub でオープンソースとして利用可能で、Weaviate Cloud で新しいサンドボックスとしても利用できます。セルフホスト版をアップグレードする場合は、移行ガイドをご確認ください。