向量数据库 Milvus 简介

Milvus 是一款开源的向量数据库(Vector Database) ,专门设计用于存储、索引和管理由深度学习模型生成的海量向量嵌入(Embeddings)

它是目前全球最受欢迎的向量数据库之一,由 Zilliz 公司发起并开源,目前是 LF AI & Data 基金会的毕业项目。

以下是对 Milvus 的详细介绍:


1. 为什么需要 Milvus?(核心背景)

在传统的 SQL 数据库(如 MySQL)中,我们搜索的是结构化数据 (如数字、字符串)。但在 AI 时代,大部分数据是非结构化的(图片、视频、文本、语音)。

  • 过程:通过深度学习模型(如 CLIP、BERT、GPT),这些非结构化数据会被转化为一串数字向量(Embedding)。
  • 挑战 :传统的数据库无法高效处理这种"在高维空间寻找最相似点"的计算(即近邻搜索 ANN)。
  • 解决:Milvus 专门为这种高维向量的**近似搜索(Approximate Nearest Neighbor Search)**而生,能够处理万亿级规模的数据。

2. Milvus 的核心特性

  • 高性能:在进行大规模向量搜索时,响应时间通常在毫秒级。
  • 云原生架构 :采用了存储与计算分离的设计。这意味着你可以根据需求独立扩展计算节点或存储节点,非常适合 Kubernetes 环境。
  • 高可靠性:支持多副本伸缩、容灾恢复,适合企业级生产环境。
  • 混合搜索(Hybrid Search)
    • 它不仅支持向量搜索,还支持标量过滤(例如:搜索"与这张图片相似"的图片,但限制条件是"价格在 100 元以内")。
  • 支持多种索引算法 :内置了多种成熟的向量索引技术,如 HNSWIVFFlat 、以及专门针对磁盘优化的 DiskANN

3. Milvus 的逻辑结构

为了方便理解,可以将其与传统数据库做类比:

  • Collection(集合) ≈ 表(Table)
  • Entity(实体) ≈ 行(Row)
  • Field(字段) ≈ 列(Column)
  • Vector(向量) ≈ 核心数据列(关键字段)

4. 典型应用场景

  1. RAG(检索增强生成)
    • 这是目前最火的应用。将企业文档存入 Milvus,当用户询问大模型(如 ChatGPT/Claude)时,先从 Milvus 中检索出最相关的片段给模型参考,从而解决模型"胡说八道"的问题。
  2. 图片/视频相似度搜索
    • 以图搜图、短视频去重、物体识别。
  3. 个性化推荐系统
    • 根据用户的行为向量,快速匹配其可能感兴趣的内容、商品或好友。
  4. 智能客服/语义搜索
    • 超越关键词匹配,根据语义理解来回答问题。
  5. 异常检测
    • 将正常行为模式向量化,实时检测偏离正常范围的异常数据(如信用卡诈骗检测)。

5. Milvus 的三种部署版本

  • Milvus Standalone:单机版,适合开发测试和小型应用。
  • Milvus Distributed:分布式版本,支持大规模集群部署,处理海量数据。
  • Zilliz Cloud:Milvus 的托管版本(SaaS),无需自己维护基础设施,开箱即用。

6. 生态集成

Milvus 拥有非常完善的生态圈,支持几乎所有主流 AI 工具:

  • 编程语言:Python, Java, Go, Node.js。
  • AI 框架:LangChain, LlamaIndex, Towhee。
  • 模型库:PyTorch, TensorFlow, HuggingFace。

总结

如果说大模型(LLM)是 AI 的大脑 ,那么 Milvus 就像是 AI 的长期记忆库。它解决了 AI 如何在大规模知识海洋中快速、准确地找到所需信息的问题,是构建现代 AI 应用不可或缺的基础设施。

项目官网 : milvus.io 代码仓 : github.com/milvus-io/m...

相关推荐
浮尘笔记9 小时前
Go语言临时对象池:sync.Pool的原理与使用
开发语言·后端·golang
梦梦代码精10 小时前
BuildingAI vs Dify vs 扣子:三大开源智能体平台架构风格对比
开发语言·前端·数据库·后端·架构·开源·推荐算法
REDcker11 小时前
RESTful API设计规范详解
服务器·后端·接口·api·restful·博客·后端开发
没有bug.的程序员13 小时前
Java 序列化:Serializable vs. Protobuf 的性能与兼容性深度对比
java·开发语言·后端·反射·序列化·serializable·protobuf
我爱娃哈哈14 小时前
SpringBoot + Spring Security + RBAC:企业级权限模型设计与动态菜单渲染实战
spring boot·后端·spring
小王不爱笑13215 小时前
SpringBoot 配置文件
java·spring boot·后端
想用offer打牌16 小时前
Spring AI vs Spring AI Alibaba
java·人工智能·后端·spring·系统架构
码农幻想梦17 小时前
实验五 spring入门及IOC实验
java·后端·spring
a程序小傲17 小时前
蚂蚁Java面试被问:向量数据库的相似度搜索和索引构建
开发语言·后端·python·架构·flask·fastapi
派大鑫wink19 小时前
【Day39】Spring 核心注解:@Component、@Autowired、@Configuration 等
java·后端·spring