milvus - Milvus 是一个开源矢量数据库,旨在为嵌入相似性搜索和 AI 应用程序提供支持

Created at: 2019-09-16 14:43:43
Language: Go
License: Apache-2.0

米尔乌斯旗帜

什么是米尔乌斯?

米尔乌斯标志

Milvus是一个开源矢量数据库,旨在为嵌入相似性搜索和AI应用程序提供支持。Milvus 使非结构化数据搜索更易于访问,并提供一致的用户体验,无论部署环境如何。

Milvus 2.0 是一个云原生矢量数据库,其存储和计算按设计分开。这个重构版本的Milvus中的所有组件都是无状态的,以增强弹性和灵活性。有关更多体系结构详细信息,请参阅 Milvus 体系结构概述

Milvus于2019年10月在开源Apache许可证2.0下发布。它目前是LF AI和数据基金会下的一个研究生项目。

主要特点

对万亿矢量数据集进行毫秒级搜索在万亿个矢量数据集上测量的平均延迟(以毫秒为单位)。
简化的非结构化数据管理
  • 专为数据科学工作流设计的丰富 API。
  • 跨笔记本电脑、本地群集和云的一致用户体验。
  • 将实时搜索和分析嵌入到几乎任何应用程序中。
  • 可靠、始终在线的矢量数据库Milvus 的内置复制和故障切换/回切功能可确保数据和应用程序在发生中断时保持业务连续性。
    高度可扩展和弹性组件级可伸缩性使得按需扩展和缩减成为可能。Milvus 可以根据负载类型在组件级别自动缩放,从而使资源调度更加高效。
    混合搜索除矢量外,Milvus 还支持布尔值、整数、浮点数等数据类型。Milvus 中的集合可以包含多个字段,以适应不同的数据功能或属性。Milvus 将标量滤波与强大的向量相似性搜索相结合,为分析非结构化数据提供了一个现代、灵活的平台。请查看 https://github.com/milvus-io/milvus/wiki/Hybrid-Search 以获取示例和布尔表达式规则。
    统一的λ结构Milvus 将数据存储的流和批处理相结合,以平衡及时性和效率。其统一的界面使矢量相似性搜索变得轻而易举。
    社区支持,行业认可拥有超过 1,000 名企业用户、9,000 多位 GitHub 上的明星以及活跃的开源社区,当你使用 Milvus 时,你并不孤单。作为LF AI与数据基金会的研究生项目,Milvus拥有机构支持。

    快速入门

    安装米尔乌斯

    从源代码构建密谋

    首先检查要求。

    Linux 系统(建议使用 Ubuntu 18.04 或更高版本):

    go: >= 1.18
    cmake: >= 3.18
    gcc: 7.5

    具有x86_64的 MacOS 系统(建议使用大苏尔 11.5 或更高版本):

    go: >= 1.18
    cmake: >= 3.18
    llvm: >= 12

    采用苹果芯片的 MacOS 系统(建议使用蒙特雷 12.0.1 或更高版本):

    go: >= 1.18 (Arch=ARM64)
    cmake: >= 3.18
    llvm: >= 13

    克隆米尔武斯存储库并构建。

    # Clone github repository.
    $ git clone https://github.com/milvus-io/milvus.git
    
    # Install third-party dependencies.
    $ cd milvus/
    $ ./scripts/install_deps.sh
    
    # Compile Milvus.
    $ make

    有关完整案例,请参阅开发人员的文档

    重要主分支用于开发 Milvus v2.0。2021 年 3 月 9 日,我们发布了 Milvus v1.0,这是 Milvus 的第一个长期支持的稳定版本。要使用 Milvus v1.0,请切换到分支 1.0

    Milvus 2.0 与 1.x:云原生、分布式架构、高度可扩展等

    有关详细信息,请参阅 Milvus 2.0 与 1.x

    真实世界演示

    图片搜索 聊天机器人 化学结构搜索

    图片搜索

    使图像可搜索。从庞大的数据库中即时返回最相似的图像。

    聊天机器人

    交互式数字客户服务,可节省用户时间和企业资金。

    化学结构搜索

    对指定分子进行超快速相似性搜索、亚结构搜索或上层结构搜索。

    训练营

    Milvus训练营旨在让用户了解矢量数据库的简单性和深度。了解如何运行基准测试以及构建涵盖聊天机器人、推荐系统、反向图像搜索、分子搜索等的相似性搜索应用程序。

    贡献

    欢迎大家为米尔夫斯做出贡献。有关提交修补程序和贡献工作流的详细信息,请参阅贡献指南。请参阅我们的社区存储库,了解我们的治理并访问更多社区资源。

    所有贡献者




    文档

    有关安装、开发、部署和管理的指南,请查看 Milvus 文档。有关技术里程碑和增强建议,请查看 milvus 汇合

    开发工具包

    下面列出了已实现的开发工具包及其 API 文档:

    阿图

    阿图为密尔布斯提供了直观高效的GUI。

    社区

    加入 Slack 上的 Milvus 社区,与我们的工程团队分享你的建议、建议和问题。

    米卢夫斯休闲频道

    你还可以查看我们的常见问题解答页面,以发现你的问题或疑问的解决方案或答案。

    订阅米尔沃斯邮件列表:

    在社交媒体上关注米尔沃斯:

    参考

    在研究论文中使用Milvus时的引用:

    @inproceedings{2021milvus,
      title={Milvus: A Purpose-Built Vector Data Management System},
      author={Wang, Jianguo and Yi, Xiaomeng and Guo, Rentong and Jin, Hai and Xu, Peng and Li, Shengjun and Wang, Xiangyu and Guo, Xiangzhou and Li, Chengming and Xu, Xiaohai and others},
      booktitle={Proceedings of the 2021 International Conference on Management of Data},
      pages={2614--2627},
      year={2021}
    }
    

    确认

    米尔乌斯采用以下依赖项:

    • 感谢FAISS的优秀搜索库。
    • 感谢 etcd 提供出色的开源键值存储工具。
    • 感谢脉冲星的精彩分布式发布 - 订阅消息传递系统。
    • 感谢RocksDB强大的存储引擎。

    Milvus被以下开源项目采用:

    • 提供一个灵活的、面向应用程序的框架,用于计算在非结构化数据上嵌入向量。
    • 干草堆一个利用变形金刚模型的开源NLP框架