这个项目能做什么
Milvus 是一款使用 Go 和 C++ 编写的分布式向量数据库,能够高效地组织和搜索海量非结构化数据,包括文本、图像和多模态信息。它专为高可扩展性和高可用性而设计,采用 K8s 原生架构,将计算与存储分离,从而实现独立的水平扩展。
核心能力包括:
- 向量搜索与索引:支持多种索引类型,如 HNSW、IVF、FLAT、SCANN 和 DiskANN,并为 CPU 和 GPU(包括 NVIDIA CAGRA)提供硬件加速。
- 混合搜索:原生支持用于语义搜索的稠密向量和用于全文搜索的稀疏向量(BM25、SPLADE、BGE-M3),允许对混合结果进行重排序。
- 数据管理:具备多租户隔离、旨在降低成本的热/冷存储机制,以及对标量数据类型(整数、字符串、JSON)的支持,用于元数据过滤。
- 安全性:实现了强制性用户身份验证、TLS 加密和基于角色的访问控制 (RBAC)。
- 部署选项:可作为分布式集群、独立 Docker 部署或轻量级 Python 版本 (Milvus Lite) 使用。
Milvus 与 LangChain、LlamaIndex、OpenAI 和 HuggingFace 等流行 AI 框架集成,并提供 Python SDK (pymilvus) 用于数据摄取和查询。