Milvus 项目介绍
什么是 Milvus?
Milvus 是一个开源的向量数据库,专为支持嵌入式相似性搜索和人工智能应用而构建。Milvus 的设计旨在简化非结构化数据的搜索,使其在不同的部署环境中提供一致的用户体验。
Milvus 2.0 是一种云原生的向量数据库,其设计理念是存储与计算的分离。这个重构版本的所有组件都是无状态的,以增强弹性和灵活性。关于架构的详细信息,可以查看 Milvus Architecture Overview。
2019年10月,Milvus 在 Apache License 2.0 下开源发布,目前是 LF AI & Data Foundation 的毕业项目。
关键功能
-
毫秒级别的搜索性能:在处理千亿级向量数据集时,Milvus 的平均延迟可达到毫秒级。
-
简化的非结构化数据管理:提供丰富的 API,设计适用于数据科学工作流程,保证在笔记本电脑、本地集群和云环境中保持一致的用户体验,可以将实时搜索和分析集成到几乎所有应用中。
-
稳定可靠的向量数据库:Milvus 内置的复制和故障转移功能确保数据和应用在中断事件中可以保持业务连续性。
-
高扩展性和弹性:组件级的可扩展性使得可以按需扩展或缩减,Milvus 能够根据负载类型在组件级自动扩展,提高资源调度效率。
-
混合搜索:自 Milvus 2.4 起,支持多向量和混合搜索框架,这意味着用户可以在单一集合中引入多个向量字段(最多10个)。通过重新排序策略综合这些不同属性的数据,特别适用于综合搜索场景。
-
统一的 Lambda 结构:将流处理和批处理结合用于数据存储,实现适时性和效率的平衡,为向量相似性搜索提供简便的统一界面。
-
社区支持、行业认可:拥有超过一千家企业用户和一个活跃的开源社区,作为 LF AI & Data Foundation 的毕业项目,Milvus 拥有机构支持。
快速开始
使用 Zilliz Cloud
Zilliz Cloud 是一种云上的全托管服务,也是部署 LF AI Milvus® 的最简单方式。可以访问 Zilliz Cloud 并开始 免费试用。
安装 Milvus
从源代码构建 Milvus
在构建之前,请检查系统需求:
-
Linux 系统(推荐 Ubuntu 20.04 或更高版本):
- go: >= 1.21
- cmake: >= 3.26.4
- gcc: 9.5
- python: > 3.8 and <= 3.11
-
MacOS x86_64 系统(推荐 Big Sur 11.5 或更高版本):
- go: >= 1.21
- cmake: >= 3.26.4
- llvm: >= 15
- python: > 3.8 and <= 3.11
-
MacOS Apple Silicon 系统(推荐 Monterey 12.0.1 或更高版本):
- go: >= 1.21 (Arch=ARM64)
- cmake: >= 3.26.4
- llvm: >= 15
- python: > 3.8 and <= 3.11
克隆并构建 Milvus 仓库:
# 克隆 GitHub 存储库
$ git clone https://github.com/milvus-io/milvus.git
# 安装第三方依赖
$ cd milvus/
$ ./scripts/install_deps.sh
# 编译 Milvus
$ make
详细信息可以查看 开发者文档。
重要 主分支用于 Milvus v2.0 的开发。Milvus v1.0 于2021年3月9日发布,这是 Milvus 的第一个长期支持的稳定版本。要使用 Milvus v1.0,请切换到 分支 1.0。
实际案例演示
Milvus 提供了一系列实际应用的案例展示,包括:
- 图像搜索:使图像可搜索,即时返回数据库中最相似的图像。
- 聊天机器人:交互式数字客户服务节省用户时间和企业成本。
- 化学结构搜索:提供极快的相似性搜索、子结构搜索或分子结构搜索。
更多案例可以在 Milvus 实际案例 中查看。
训练营
Milvus 训练营 旨在向用户展示向量数据库的简单性和深度。其中包括如何运行基准测试,以及构建跨聊天机器人、推荐系统、反向图像搜索、分子搜索等应用的相似性搜索。
如何贡献
Milvus 欢迎所有人的贡献。详细信息请查看 贡献指南。可以访问我们的 社区资源库 了解治理信息以及获取更多的社区资源。
本项目已获得 415 位贡献者的支持,其头像展示在项目主页。