Milvus logo

Milvus

认领

Milvus 是一款开源向量数据库,支持嵌入向量相似度检索,提供本地、单机、分布式和云端部署选项,适用于语义搜索、RAG、图像搜索和混合搜索等 GenAI 检索流程。

Milvus preview

概述

Milvus 是一款开源向量数据库,用于围绕嵌入向量和相似度搜索构建应用。它被描述为一个高性能系统,可运行在从笔记本电脑到大规模分布式集群的广泛环境中,并同时提供开源软件和云服务。

该产品旨在将向量数据与元数据一起存储,然后对这些数据提供快速搜索和检索。文档和快速入门展示了一个基于 Python 的工作流,使用 `pymilvus`,并通过 Milvus Lite 进行本地开发,以及使用 Docker 或 Kubernetes 进行生产部署。

Milvus 面向 GenAI 及其他以嵌入向量驱动的工作负载,例如语义搜索、检索增强生成、图像搜索、多模态搜索、混合搜索以及相关检索流程。其架构强调可扩展性、面向硬件的性能以及多种搜索模式,而不是单一的狭窄用例。

功能

向量与元数据建模

在集合中存储向量嵌入及其相关元数据。文档说明 Milvus 支持多种数据类型,包括数值和字符类型、向量类型、数组、集合以及 JSON。

多种部署模式

选择与环境相匹配的部署模式。Milvus Lite 适用于笔记本和本地电脑,Standalone 是单机 Docker 部署,而 Distributed 则面向 Kubernetes 和十亿级规模工作负载。

满足不同检索需求的搜索模式

运行广泛的检索操作,包括 ANN 搜索、过滤搜索、范围搜索、混合搜索、全文搜索、重排序、获取和查询。

面向性能的搜索引擎

使用硬件感知优化以及多种索引/搜索算法,例如 IVF、HNSW 和 DiskANN,以支持在不同平台上进行快速向量搜索。

分布式扩展架构

在分布式系统中扩展无状态、解耦的架构。文档描述了可独立扩展的搜索、数据和索引组件,适用于大规模部署。

以 Python 为先的开发工作流

先使用 `pymilvus` 和 `MilvusClient` 在本地启动,然后在 Docker 或 Kubernetes 上将相同的、面向客户端的工作流程投入生产部署。

使用场景

  • 检索增强生成

    构建检索增强生成系统,将文档或知识库的嵌入向量存储起来,并使用向量搜索为 LLM 提供相关上下文。

  • 语义搜索

    为文本、图像或其他非结构化数据创建搜索体验,在这些场景中,基于嵌入向量的相似性比精确关键词匹配更有用。

  • 原型设计与开发

    在 Jupyter 笔记本或本地电脑上使用 Milvus Lite 进行本地实验,然后将相同的模型和客户端方法迁移到 Docker 或 Kubernetes 部署中。

  • 感知元数据的检索

    在需要将向量相似性与元数据约束或辅助排序逻辑相结合时,使用混合搜索、过滤和重排序。

  • 高规模生产检索

    支持需要分布式基础设施和弹性扩展、以处理超大规模向量集合的大规模生产系统。

Pros and Cons

Pros

  • 支持本地、单机和分布式部署模式。
  • 覆盖广泛的检索模式,包括 ANN、过滤、混合、范围、全文、重排序、获取和查询。
  • 将向量与元数据一同存储,有助于支持过滤和更丰富的检索流程。
  • 提供基于 `pymilvus` 和 `MilvusClient` 的 Python 优先快速入门,使本地设置更直接。
  • 文档说明其基于 Apache 2.0 开源许可,同时也可作为云服务使用。

Cons

  • 由于所提供的定价页面返回了 404,无法获取价格和套餐详情。
  • 源材料对向量检索和部署模式的说明最为充分;与核心数据库功能相比,它对集成和托管服务细节的描述较少。

FAQ

如何运行 Milvus?

Milvus 支持通过 Milvus Lite 进行本地原型开发,这是一款可在笔记本或本地电脑上运行的 Python 库;它也支持在生产场景中使用 Docker 和 Kubernetes。文档介绍了 Milvus Lite、Standalone 和 Distributed 三种部署模式。

Milvus 的基础工作流程是什么样的?

快速入门展示了如何使用 pip 安装 `pymilvus`,使用 `MilvusClient` 创建本地数据库文件,创建集合,插入向量数据并执行搜索。示例使用 Milvus Lite 进行本地设置。

Milvus 适用于哪些类型的应用?

Milvus 旨在对高维嵌入向量进行向量相似度检索,并支持语义搜索、检索增强生成(RAG)、图像搜索、多模态搜索、混合搜索和图 RAG 等工作流。

Milvus 是开源还是托管服务?

来源将 Milvus 描述为遵循 Apache 2.0 许可证的开源软件,同时也是一项云服务。主页还指出 Zilliz Cloud 是托管版 Milvus 选项。

Milvus 提供哪些搜索能力?

文档说明 Milvus 支持多种搜索类型,包括 ANN 搜索、过滤搜索、范围搜索、混合搜索、全文搜索、重排序、获取和查询。

Quick Facts

类别
向量数据库
来源域名
milvus.io
许可证
Apache 2.0
主要语言
通过 `pymilvus` 的 Python 快速入门
部署选项
Lite、Standalone、Distributed 和云服务
常见工作流
语义搜索、RAG、图像搜索、多模态搜索、混合搜索