Milvusは、埋め込みの類似検索向けオープンソースベクターデータベース。ローカル、単一マシン、分散、クラウドで使え、セマンティック検索、RAG、画像検索、ハイブリッド検索の構築に役立ちます。

Milvus preview

概要

Milvus は、埋め込みと類似検索を中心としたアプリケーション構築のためのオープンソースベクターデータベースです。ノートパソコンから大規模な分散クラスタまで、幅広い環境で動作する高性能システムとして紹介されており、オープンソースソフトウェアとクラウドサービスの両方で利用できます。

この製品は、ベクターデータをメタデータとともに保存し、そのデータに対して高速な検索と取得を行えるよう設計されています。ドキュメントとクイックスタートでは、`pymilvus` を使った Python ベースのワークフローが示されており、ローカル開発向けの Milvus Lite と、本番デプロイ向けの Docker または Kubernetes の विकल्पがあります。

Milvus は、セマンティック検索、Retrieval Augmented Generation、画像検索、マルチモーダル検索、ハイブリッド検索、および関連する取得パイプラインなど、GenAI やその他の埋め込み駆動型ワークロード向けに位置付けられています。アーキテクチャは、単一の限定的なユースケースではなく、スケーラビリティ、ハードウェアを考慮した性能、複数の検索モードを重視しています。

機能

ベクターとメタデータのモデリング

コレクション内にベクター埋め込みと関連メタデータを保存できます。ドキュメントによると、Milvus は数値型や文字型、ベクター型、配列、セット、JSON など、幅広いデータ型をサポートしています。

複数のデプロイモード

環境に合ったデプロイモードを選べます。Milvus Lite はノートブックやラップトップ向け、Standalone は単一マシンの Docker デプロイ、Distributed は Kubernetes と 10 億規模のワークロード向けに構築されています。

さまざまな検索ニーズに対応する検索モード

ANN 検索、フィルタリング検索、範囲検索、ハイブリッド検索、全文検索、再ランキング、取得、クエリなど、幅広い検索操作を実行できます。

性能重視の検索エンジン

IVF、HNSW、DiskANN などのハードウェアを考慮した最適化と複数のインデックス/検索アルゴリズムを利用して、さまざまなプラットフォームで高速なベクター検索を支援します。

分散スケーリングアーキテクチャ

ステートレスで疎結合なアーキテクチャを分散システム全体にスケールできます。ドキュメントでは、大規模デプロイ向けに検索、データ、インデックスの各コンポーネントを個別にスケーリングできると説明されています。

Python ファーストの開発ワークフロー

`pymilvus` と `MilvusClient` でローカルに開始し、その後同じクライアント中心のワークフローを Docker や Kubernetes の本番デプロイへ移行できます。

ユースケース

  • Retrieval Augmented Generation

    ドキュメントやナレッジベースの埋め込みを保存し、ベクター検索を使って LLM に関連コンテキストを提示する Retrieval-Augmented Generation システムを構築します。

  • セマンティック検索

    テキスト、画像、その他の非構造化データに対して、埋め込みの類似性が厳密なキーワード一致よりも有用な検索体験を作成します。

  • プロトタイピングと開発

    同じモデルとクライアントのアプローチを Docker や Kubernetes のデプロイへ移行する前に、Milvus Lite を使って Jupyter ノートブックやラップトップ上でローカル実験を行います。

  • メタデータ対応の取得

    ベクター類似性とメタデータ条件、または二次的なランキングロジックを組み合わせる必要がある場合に、ハイブリッド検索、フィルタリング、再ランキングを利用します。

  • 大規模本番検索

    非常に大規模なベクターコレクションに対して、分散インフラストラクチャと弾力的なスケーリングを必要とする大規模本番システムを支援します。

Pros and Cons

Pros

  • ローカル、単一マシン、分散のデプロイモードをサポートしています。
  • ANN、フィルタリング、ハイブリッド、範囲、全文検索、再ランキング、取得、クエリを含む幅広い取得パターンに対応しています。
  • ベクターとメタデータを一緒に保存できるため、フィルタリングやより豊かな取得ワークフローを支援します。
  • `pymilvus` と `MilvusClient` を使った Python ファーストのクイックスタートがあり、ローカルセットアップを簡単に始められます。
  • Apache 2.0 のオープンソースとして文書化されており、クラウドサービスとしても利用できます。

Cons

  • 提供された価格ページは 404 を返したため、価格とプランの詳細は確認できませんでした。
  • ソース資料はベクター検索とデプロイモードについては充実していますが、統合機能やマネージドサービスの詳細は、コアデータベース機能ほど詳しくありません。

FAQ

Milvus をどのように実行しますか?

Milvus は Milvus Lite を通じてローカルでのプロトタイピングに対応しており、ノートブックやラップトップから実行できる Python ライブラリです。さらに、本番用途向けに Docker と Kubernetes もサポートしています。ドキュメントでは Milvus Lite、Standalone、Distributed の各デプロイモードが説明されています。

Milvus の基本的なワークフローはどのようなものですか?

クイックスタートでは、`pip` で `pymilvus` をインストールし、`MilvusClient` でローカルデータベースファイルを作成し、コレクションを作成してベクターデータを挿入し、検索を実行する方法が示されています。例ではローカル設定に Milvus Lite を使用しています。

Milvus はどのようなアプリケーション向けですか?

Milvus は高次元埋め込みに対するベクター類似検索向けに設計されており、セマンティック検索、Retrieval Augmented Generation(RAG)、画像検索、マルチモーダル検索、ハイブリッド検索、グラフ RAG などのワークフローをサポートします。

Milvus はオープンソースですか、それともマネージドですか?

ソースでは、Milvus は Apache 2.0 ライセンスのオープンソースソフトウェアであり、クラウドサービスとしても提供されていると説明されています。ホームページでは、マネージド版の Milvus オプションとして Zilliz Cloud も案内されています。

Milvus はどのような検索機能を提供しますか?

ドキュメントによると、Milvus は ANN 検索、フィルタリング検索、範囲検索、ハイブリッド検索、全文検索、再ランキング、取得、クエリを含む複数の検索タイプをサポートしています。

Quick Facts

カテゴリ
ベクターデータベース
ソースドメイン
milvus.io
ライセンス
Apache 2.0
主要言語
`pymilvus` による Python クイックスタート
デプロイオプション
Lite、Standalone、Distributed、クラウドサービス
主なワークフロー
セマンティック検索、RAG、画像検索、マルチモーダル検索、ハイブリッド検索