milvus  by milvus-io

Cloud-native vector database for scalable ANN search

Created 6 years ago
37,440 stars

Top 0.8% on SourcePulse

GitHubView on GitHub
Project Summary

Milvus is a high-performance, cloud-native vector database designed for AI applications that need to efficiently organize and search vast amounts of unstructured data like text and images. It targets developers building applications such as RAG, recommendation systems, and semantic search, offering scalable vector search with metadata filtering and hybrid search capabilities.

How It Works

Milvus employs a distributed architecture separating compute and storage, allowing independent scaling of query and data nodes for optimal performance under varying workloads. It supports numerous vector index types (HNSW, IVF, SCANN, DiskANN) and hardware acceleration (GPU indexing via CAGRA), enabling efficient vector search with advanced features like metadata filtering and range search. The system also natively supports sparse vectors for full-text search (BM25, SPLADE) and allows combining dense and sparse vector searches for hybrid retrieval.

Quick Start & Requirements

  • Install Python SDK: pip install -U pymilvus
  • For local development, Milvus Lite is available via client = MilvusClient("milvus_demo.db").
  • Connect to deployed instances using uri and token.
  • See Milvus Docs for installation, usage, and deployment.

Highlighted Details

  • Supports multiple vector index types (HNSW, IVF, SCANN, DiskANN) and hardware acceleration (GPU).
  • Natively supports sparse vectors for full-text search and hybrid search (dense + sparse).
  • Offers multi-tenancy, hot/cold storage, and fine-grained access control (RBAC).
  • Integrates with AI tools like LangChain, LlamaIndex, OpenAI, and HuggingFace.

Maintenance & Community

Milvus is an LF AI & Data Foundation project with Zilliz as a major contributor. Community support is available on Discord. Follow on X, LinkedIn, Youtube, Medium.

Licensing & Compatibility

Licensed under the Apache 2.0 License. Compatible with commercial use and closed-source linking.

Limitations & Caveats

Building from source requires specific Go, CMake, GCC/LLVM, and Python versions depending on the OS. The README mentions support for Python versions up to 3.11 for building from source, while the quickstart examples use pymilvus which may support newer Python versions.

Health Check
Last Commit

14 hours ago

Responsiveness

1 day

Pull Requests (30d)
339
Issues (30d)
229
Star History
862 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.