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)フィルタを実装。
- スムーズな移行:
pymilvusAPIと互換性があり、本格的なMilvusクラスタへの容易な移行を可能に。 - データエクスポート:コレクションをJSONファイルにエクスポートするdumpコマンドを含み、本番用Milvus環境へのバルクインサートに利用可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト