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

Weaviate 1.37 リリース:組み込みMCPサーバー、拡張可能トークナイザー、多様性検索、クエリプロファイリングのプレビュー

このリリースでは、組み込みMCPサーバー、拡張可能トークナイザー(アクセント折りたたみとカスタムストップワード対応)、MMRによる多様性検索、クエリプロファイリングの各プレビュー機能に加え、インクリメンタルバックアップ、multi2vec-googleモジュールのGemini音声サポート、新しいBlobHashプロパティタイプが導入されました。

ソースWeaviate Blog

Weaviate v1.37 がオープンソースおよび Weaviate Cloud で利用可能になりました。このリリースは、Weaviate の機能を拡張することに重点を置いており、AI エージェントとの対話方法、テキスト分析、大規模運用の処理方法に及びます。4 つの新しいプレビュー機能が含まれています。組み込み MCP サーバー(LLM や IDE がデータベースとネイティブに通信できるようにする)、拡張可能トークナイザー(アクセント折りたたみとカスタムストップワードプリセットをサポート)、多様性検索(MMR)(ベクトル結果の冗長性を低減)、およびクエリプロファイリング(シャードごとのタイミング内訳を提供)です。さらに、インクリメンタルバックアップにより大規模コレクションのバックアップが実用的になり、Gemini 音声サポートが multi2vec-google モジュールに追加され、新しい BlobHash プロパティタイプは完全な blob ではなくハッシュのみを保存します。

MCP サーバー(プレビュー)

Weaviate v1.37 は、プレビューとして組み込みの Model Context Protocol(MCP)サーバーを導入します。MCP は、大規模言語モデルや AI エージェントが外部システムと安全にやり取りできるようにするオープンスタンダードです。Weaviate に直接実装することで、データベースを互換性のあるクライアント(Claude Code、Claude Desktop、Cursor、VS Code、その他 MCP 対応ツール)に接続でき、グルーコードを記述する必要がありません。これにより、Weaviate は受動的な検索エンジンから、エージェントワークフローのための能動的な長期記憶へと変わります。LLM はコレクションスキーマの検査、ハイブリッド検索の実行、インスタンスへのデータ書き込みが可能で、これらはすべて Weaviate の標準認証と認可によって制御されます。サーバーは REST API と同じポートの /v1/mcp でストリーミング HTTP エンドポイントとして実装されています。デフォルトでは無効で、単一の環境変数で有効にします。有効にすると、4 つのツールが公開されます。コレクションスキーマの検査、マルチテナントコレクションのテナント一覧表示、ハイブリッド検索の実行、オブジェクトの挿入または更新です。RBAC を使用している場合、MCP アクセスは 3 つの新しい権限(read_mcp、create_mcp、update_mcp)によって制御されます。YAML または JSON 設定ファイルをマウントすることで、LLM が見るツールの説明をカスタマイズできます。

拡張可能トークナイザー(プレビュー)

キーワード検索の品質は、BM25 が計算を実行するずっと前に、テキストをトークンに変換するアナライザーによって決定されます。3 つの追加機能がプレビューとして提供されます。アクセント折りたたみ(textAnalyzer.asciiFold フラグがアクセント付きラテン文字を ASCII 相当に正規化)、カスタムおよびプロパティごとのストップワード(名前付きストップワードプリセットを宣言し、異なるプリセットを個々のプロパティに割り当て可能)、トークナイズエンドポイント(2 つの新しい REST エンドポイントでトークン化プロセスを透過的にし、インデックス化されたトークンとクエリトークンを分離した構造化レスポンスを返します)。

MMR による多様性検索(プレビュー)

標準ベクトル検索には既知の副作用があります。それは、ほぼ重複する結果をクラスタリングすることです。Weaviate v1.37 は、プレビューとして Maximum Marginal Relevance(MMR)を新しいクエリ時再ランク付けステップとして導入します。MMR は、最も関連性の高いアイテムを最初に選択し、既に選択されたアイテムと類似しすぎる候補にペナルティを課します。これにより、各新しい結果は新しい何かを追加することでその位置を獲得する必要があります。Python クライアントで selection パラメータを追加して使用します。MMR はクエリ時に適用され、既存のベクトルインデックス上で動作するため、再インデックスやスキーマ変更は不要です。

クエリプロファイリング(プレビュー)

クエリが遅い場合、最初の質問は常に「時間はどこで費やされたのか?」です。Weaviate v1.37 は、プレビューとしてクエリプロファイリングを導入し、任意の検索リクエストにシャードごとのタイミング内訳を添付します。query_profile=True を設定してプロファイルデータを要求します。プロファイルはシャードと検索タイプ(ベクトル、キーワード、オブジェクト)ごとに構造化され、vector_search_took、filters_ids_matched、knn_search_layer_N_took などのメトリクスを含みます。ハイブリッド検索の場合、シャードごとにベクトルとキーワードの両方のセクションが得られます。マルチノードクラスターの場合、コーディネーターがすべてのシャードからのタイミングを集約し、各エントリには実行したノードが含まれます。

インクリメンタルバックアップ

毎晩 100GB のコレクションをバックアップするのは、昨日から変更されたデータがわずか数パーセントである場合、コストがかかります。Weaviate v1.37 はインクリメンタルバックアップを導入します。前回のバックアップ以降に変更されていないファイルは、再度コピーされるのではなく、参照として保存されます。結果として、バックアップサイズが大幅に小さくなり、バックアップ時間が大幅に短縮されます。バックアップ実行時に、Weaviate は大きなファイルをチャンクに分割します。インクリメンタルバックアップ中、各チャンクはベースバックアップと比較され、変更されていない場合はポインタが保存されます。復元時に、Weaviate は自動的にチェーンをたどり、以前のバックアップから参照ファイルを取得します。インクリメンタルバックアップを作成するには、まず完全バックアップを作成し、それをベースとして参照します。チェーンされたインクリメンタルバックアップも可能で、それぞれが前のものを参照します。復元は完全バックアップとまったく同じように機能します。ベースバックアップ(およびチェーン内の中間インクリメンタルバックアップ)は、それらに依存するインクリメンタルバックアップから復元する必要がある限り、利用可能な状態を保つ必要があります。また、v1.37 では、INACTIVE(COLD)テナントもバックアップに含まれるようになり、アクティブ化なしでディスクから直接読み取られます。

Gemini 音声サポート

multi2vec-google モジュールが、テキスト、画像、ビデオに加えて、4 番目のモダリティとして音声をサポートするようになりました。新しい audioFields 設定で音声プロパティを構成します。音声サポートは Gemini API(Google AI Studio)でのみ利用可能で、Vertex AI は現在音声埋め込みをサポートしていません。これにより、テキスト、ビジュアル、音声コンテンツを単一のベクトル空間に統合する必要があるマルチモーダルユースケースにとって、Gemini API パスが魅力的になります。

BlobHash プロパティタイプ

multi2vec-google などのモジュールを使用してメディアをベクトル化する場合、ベクトル化器はインポート時に生のバイトのみを必要とし、その後は blob がストレージを占有するだけです。v1.37 の新しい blobHash データ型はこの問題に直接対処します。base64 エンコードされた入力(blob と同様)を受け入れますが、ディスクには SHA-256 ハッシュのみを永続化します。生の base64 データはベクトル化パイプラインを流れるため、モジュールは実際のメディアコンテンツを埋め込むことができます。ベクトル化の後でのみ、Weaviate はペイロードをそのハッシュに置き換えます。後続の更新では、受信データがハッシュ化され、保存されたハッシュと比較されて再ベクトル化が必要かどうかが判断されます。これは、ベクトルを Weaviate に保存し、正規メディアをオブジェクトストレージ(S3 など)に保持するワークフローに最適です。ハッシュにより、ディスクコストをかけずに元のファイルと関連付けることができます。

複数のパフォーマンス改善と修正

Weaviate v1.37 には、さらに多くの小さな機能と改善が含まれています。ハイライトは次のとおりです。コレクションエクスポート(プレビュー):新しい /v1/export API により、コレクションを S3、GCS、Azure、またはローカルファイルシステムに Apache Parquet としてエクスポート可能。HFresh の改善:メモリ使用量の削減、ディスク書き込みの削減、バックアップ中のデキュー改善。DEFAULT_SHARDING_COUNT 環境変数:新しいシングルテナントコレクションのデフォルト desiredCount をオーバーライド。S3 assume role for backups:バックアップ-s3 モジュールが AWS assume role 認証をサポート。Google AI Studio in multi2vec-google:Google AI Studio API キーが multi2vec-google モジュールで使用可能に。IPv6 クラスタリング:Weaviate が内部クラスタ通信に IPv6 アドレスをサポート。内部クラスタ gRPC:レプリカ通信を REST から gRPC に移行し、接続管理とダイジェスト応答のバイナリエンコーディングを改善。Reranker-cohere v2:Cohere リランカーモジュールを v1 から v2 リランクエンドポイントにアップグレード。OIDC insecure TLS skip:開発/テスト環境での自己署名証明書または信頼されていない証明書用の新しい AUTHENTICATION_OIDC_INSECURE_SKIP_TLS_VERIFY 環境変数。パフォーマンス:HNSW スパースビジットリスト、事前計算された平均プロパティ長、キャッシュプリフィルまでの遅延量子化、バックアップ中の非ブロッキング圧縮、セグメント検索のためのビットマップ処理の改善など。バグ修正:結果整合性の改善、RBAC 復元の競合状態、ベクトルインデックスエラーハンドリング、IPv6 アドレス解析、フィルターのエッジケースなど。

コミュニティ貢献

Weaviate はオープンソースプロジェクトであり、コミュニティからの貢献を歓迎しています。今回のリリースでは、クラスタリングの IPv6 サポートを提供した初めてのコントリビューター @junjieqi に特に感謝します。

まとめ

Weaviate v1.37 は、データとスタックの他の部分との統合方法を広げます。AI エージェントや IDE から分析パイプラインや多言語ワークロードまで、さまざまな用途に対応します。主なハイライトは、MCP サーバー、拡張可能トークナイザー、MMR 多様性検索、クエリプロファイリング、インクリメンタルバックアップ、Gemini 音声サポート、BlobHash プロパティタイプです。このリリースはオープンソースで利用可能であり、Weaviate Cloud の新しい Sandbox ですでに利用できます。