このプロジェクトについて

MilvusはGoおよびC++で記述された分散ベクトルデータベースであり、テキスト、画像、マルチモーダル情報を含む膨大な量の非構造化データの効率的な整理と検索を可能にします。高いスケーラビリティと可用性を実現するように設計されており、コンピューティングとストレージを分離したK8sネイティブアーキテクチャを採用することで、独立した水平スケーリングが可能です。 主な機能は以下の通りです: - ベクトル検索とインデックス作成:HNSW、IVF、FLAT、SCANN、DiskANNなどの複数のインデックスタイプをサポートし、CPUおよびGPU(NVIDIA CAGRAを含む)の両方でハードウェア加速が可能です。 - ハイブリッド検索:セマンティック検索用の密ベクトル(dense vectors)と、全文検索(BM25、SPLADE、BGE-M3)用の疎ベクトル(sparse vectors)の両方をネイティブにサポートし、リランクされたハイブリッド結果を提供します。 - データ管理:マルチテナンシーの分離、コスト効率を高めるホット/コールドストレージメカニズム、およびメタデータフィルタリング用のスカラーデータ型(整数、文字列、JSON)をサポートしています。 - セキュリティ:強制的なユーザー認証、TLS暗号化、およびロールベースのアクセス制御(RBAC)を実装しています。 - デプロイオプション:分散クラスター、スタンドアロンのDockerデプロイ、または軽量なPythonバージョン(Milvus Lite)として利用可能です。 Milvusは、LangChain、LlamaIndex、OpenAI、HuggingFaceなどの人気のあるAIフレームワークと統合されており、データの取り込みとクエリのためのPython SDK(pymilvus)を提供しています。