向量数据库 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 元以内")。
  • 支持多种索引算法 :内置了多种成熟的向量索引技术,如 HNSW 、IVF 、Flat 、以及专门针对磁盘优化的 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...

相关推荐
tachibana212 分钟前
使用for range 的时候,它的地址会发生变化吗?
开发语言·后端·golang·go·语法
蜗牛互联网18 分钟前
GPT-6 与 Intelligent UI:从回答到可审计操作的产品迁移
java·人工智能·后端
王中阳Go1 小时前
Go 后端转 AI:非科班怎么补?一张 3 列路线表(可保存)
开发语言·人工智能·后端·python·golang·大语言模型
IT_陈寒1 小时前
Vite热更新失效?你可能也踩了这个坑
前端·人工智能·后端
行百里er1 小时前
Redis 模块——JSON、向量搜索与时序
redis·后端
一条泥憨鱼3 小时前
【从0开始学习计算机网络】| ARP 协议:地址解析,ARP 欺骗,链路层寻址
网络·后端·学习·计算机网络
2501_933923253 小时前
SpringCloud组件:Eureka服务注册与发现
java·开发语言·后端·spring cloud·eureka
leikooo3 小时前
ARTS 1011: 双堆动态对顶求中位数、IPC 注入与空密码串联接管账户与程序从不做决策
后端
合尘猫3 小时前
AI 项目上线就停:一次事件循环阻塞的完整排查过程
人工智能·后端·python
Re_zero3 小时前
一次 SSE 断流排查:PrintWriter 吞掉了我的 IOException
java·后端