milvus-io/milvus-lite

A lightweight version of Milvus

何を解決するか

Milvus Liteは、プロトタイピング、テスト、または小規模なAIアプリケーションでベクトル検索機能が必要な開発者にとって、複雑なインフラ構成を必要としない軽量なローカル版Milvusベクトルデータベースを提供します。ユーザーはローカルファイルまたは埋め込みサーバーとして完全に機能するベクトルストアを実行でき、ローカル開発用に書かれたコードを、最小限の変更で本番用Milvusデプロイメント(StandaloneまたはDistributed)またはZilliz Cloudに簡単に移行できます。

動作方法

完全にPythonで再構築されたMilvus Liteは、ローカルのLSMスタイルのストレージエンジンを使用しています。データはWrite-Ahead Log (WAL)、メモリ上のmemtable、および不変のParquetセグメントで管理されます。検索にはFAISSベースのベクトルインデックスとINVERTEDスカラインデックスを利用しています。3つの方法で操作できます:pymilvusクライアント経由でローカルの.dbファイルとして、複数クライアントアクセス用のスタンドアロンローカルgRPCサーバーとして、または内部のEmbedded Engine APIを直接使って。

対象ユーザー

  • AI開発者:迅速なプロトタイピングにローカルなベクトルストアが必要なRAGアプリケーションやAIエージェントを開発する人。
  • データサイエンティスト:Jupyterなどのノートブックで作業し、別途データベースサーバーを管理せずにベクトル検索を統合したい人。
  • QAエンジニア:自動テストをベクトルデータベースに対して実行するための軽量で隔離された環境が必要な開発者。

特徴

  • 即時ローカル利用MilvusClient("./demo.db") で1行のコードでデータベースを起動。
  • ハイブリッド検索:密度ベクトル検索、スパースBM25全文検索、および組み合わせたハイブリッド検索をサポート。
  • 純粋なPython:標準のPythonスタックトレースで簡単に調査・デバッグできるように、Pythonで実装。
  • 豊富なフィルタリング:Milvusスタイルのスカラ、JSONパス、配列、ジオメトリ(WKT)フィルタを実装。
  • スムーズな移行pymilvus APIと互換性があり、本格的なMilvusクラスタへの容易な移行を可能に。
  • データエクスポート:コレクションをJSONファイルにエクスポートするdumpコマンドを含み、本番用Milvus環境へのバルクインサートに利用可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト