当前位置: 首页 > news >正文

Milvus简介

Milvus 是另一个专为大规模向量相似度搜索设计的开源向量数据库,和 ChromaFAISS 属于同一类技术栈,但定位更偏向 企业级、生产级、超大规模场景


✅ 一句话介绍 Milvus

Milvus 是一个高性能、可扩展的向量数据库,专为 AI 应用中的“向量相似性搜索”而生,支持亿级向量的毫秒级检索。


🔍 Milvus vs Chroma vs FAISS:全面对比

特性MilvusChromaFAISS (cpu/gpu)
类型向量数据库(分布式)轻量级向量数据库向量搜索库(底层引擎)
是否需要独立部署✅ 是(可 Docker 或集群)✅ 可嵌入(in-memory)或持久化❌ 不需要,纯 Python 库
可扩展性⚡ 极强(支持亿级向量、分布式)🐢 中小规模(万到百万级)⚠️ 单机,内存受限
易用性⚠️ 中等(需配置服务)✅ 极高(几行代码搞定)⚠️ 中等(需手动管理索引)
元数据过滤✅ 强大(支持复杂 SQL-like 查询)✅ 支持简单过滤❌ 原生不支持
GPU 支持✅ 是(可加速搜索)❌ 目前无✅ faiss-gpu 支持
持久化✅ 是(自动)✅ 是✅ 可手动保存索引文件
高可用 & 多副本✅ 支持❌ 不支持❌ 不支持
社区 & 生态✅ 活跃(LF AI & Data 基金会)✅ 活跃(LangChain 原生集成)✅ Meta 开源,广泛使用
适合场景企业级 RAG、推荐系统、图像检索快速原型、本地实验、小项目高性能单机搜索、嵌入式

✅ Milvus 的核心优势

1. 超大规模支持

  • 支持 十亿级向量 的高效检索
  • 使用分片(sharding)、副本(replica)、索引优化(如 IVF, HNSW, DiskANN)实现高性能

2. 混合搜索(Hybrid Search)

  • 不仅支持向量相似度搜索
  • 还支持 向量 + 结构化元数据过滤 联合查询

Python

编辑

# 例子:找“类别=新闻”且语义匹配“天气”的文档
results = collection.query(vector=query_vector,filter="category == 'news'",limit=5
)

3. 多种索引类型,灵活优化

  • IVF_FLATIVF_SQ8HNSWDISKANN 等
  • 可根据数据量、精度、速度需求选择

4. 支持多种距离度量

  • L2(欧氏距离)
  • IP(内积,归一化后 ≈ 余弦相似度)
  • COSINE(新版本直接支持)

✅ Milvus 的典型架构

Text

编辑

+----------------+     +---------------------+
|   AI 应用       | --> |    Milvus Server     |
| (Python/Java)  |     | (Docker/Kubernetes) |
+----------------+     +----------+----------+|v+---------------------------+|       向量索引 + 元数据      || (存储在本地或云存储如 S3)   |+---------------------------+

📌 你需要启动一个 Milvus 服务(通常用 Docker),然后通过 SDK 连接它。


✅ 代码示例:用 Milvus 实现 retrieve

Python

编辑

from pymilvus import connections, Collection, FieldSchema, CollectionSchema, DataType
import numpy as np# 1. 连接 Milvus 服务
connections.connect(host="localhost", port="19530")  # 默认端口# 2. 定义 schema
fields = [FieldSchema(name="id", dtype=DataType.INT64, is_primary=True, auto_id=True),FieldSchema(name="embedding", dtype=DataType.FLOAT_VECTOR, dim=384),FieldSchema(name="text", dtype=DataType.VARCHAR, max_length=5000),
]
schema = CollectionSchema(fields, "文档检索")
collection = Collection("documents", schema)# 3. 创建索引(如 HNSW)
index_params = {"index_type": "HNSW","metric_type": "COSINE",  # 直接支持余弦相似度!"params": {"M": 8, "efConstruction": 64}
}
collection.create_index("embedding", index_params)# 4. 插入数据(假设已有 embeddings 和 texts)
# collection.insert([embeddings, texts])# 5. 检索函数
def retrieve_milvus(query: str, top_k: int = 3):query_embedding = embed_chunk(query).reshape(1, -1)collection.load()  # 加载到内存results = collection.search(data=query_embedding,anns_field="embedding",param={"metric_type": "COSINE", "limit": top_k},limit=top_k,output_fields=["text"])# 提取文本return [hit.entity.get("text") for hit in results[0]]# 使用
results = retrieve_milvus("今天天气怎么样")
print(results)

✅ 什么时候该用 Milvus?

场景推荐使用 Milvus?
项目原型、本地实验❌ 用 Chroma 更快
数据量 < 10 万❌ 用 Chroma 或 FAISS
数据量 > 100 万✅ Milvus 更稳定高效
需要高可用、多副本✅ Milvus 支持
需要混合查询(向量 + 条件)✅ Milvus 强大支持
团队有运维能力✅ 可部署管理
云原生、Kubernetes 环境✅ Milvus 支持

✅ Milvus 的部署方式

方式说明
Milvus Lite嵌入式,类似 Chroma,用于测试
Docker Compose单机部署,适合中小规模
Kubernetes (Helm)生产级集群部署,支持自动伸缩

✅ 总结:三者怎么选?

你的需求推荐工具
快速验证想法、做 demo✅ Chroma
单机高性能、嵌入式搜索✅ FAISS
企业级、大规模、高并发、混合查询✅ Milvus

🎯 最终建议

  • 学习阶段:用 Chroma,简单直观
  • 性能优化:用 FAISS,掌握底层
  • 生产上线:用 Milvus 或 Weaviate / Pinecone,确保稳定可扩展

🔥 你可以把它们看作“向量搜索技术栈”的不同层次:

  • FAISS:发动机
  • Chroma:家用轿车(易开)
  • Milvus:重型卡车(载重大、可集群)

如果你正在构建一个企业级 RAG 系统、推荐引擎或图像搜索引擎Milvus 是非常值得投入学习和使用的工具

http://www.dtcms.com/a/536123.html

相关文章:

  • 高并发内存池 - 开发记录08,09
  • 廊坊网站排名优化公司哪家好哈尔滨网站制作公司
  • Node.js 数据查询优化技巧
  • 最新电子电气架构(EEA)调研-2
  • 【数据结构】顺序表+回调函数
  • 图像归一化:OpenCV 高效映射 [0,255] → [-1,1] 性能实测
  • allWebPlugin.IE扩展使用介绍
  • C语言输入输出函数完整指南:从基础到高级应用
  • 20.10 多模态PPT生成准确率突破93%!ChatPPT v3.0动态权重技术深度解析
  • 中国移动通信联合会人工智能与元宇宙产业委联席秘书长叶毓睿受聘为“北京设计学会无障碍设计专业委员会指导专家”
  • 励志网站织梦源码建个人网上银行登录入口
  • Nginx清除浏览器缓存的三个缓存响应头的关系详解
  • 14天极限复习软考-day5 软件工程 、UML
  • 基于M4-R1开发板的OpenHarmony开发实战丨创建第一个应用工程
  • 【计算机视觉】Python 验证码图片分割:基于 OpenCV 的字符区域提取实现
  • 时序论文速递:覆盖时间序列预测、分类、异常检测及交叉应用!(10.20-10.24)
  • wordpress 建视频网站福步外贸论坛怎样注册
  • 没有网站可以做的广告联盟家居企业网站建设精英
  • navicat11不支持mysql8.0的加密方式
  • 程序综合实践第五次DP1
  • 架构论文《论系统超融合架构的设计与应用》
  • PCB行业数字化转型样本:兴森科技携手盘古信息MOM系统,实现生产效率跃升
  • ESP32-C3赋能物联网设备,开启产品智能化,乐鑫代理商飞睿科技
  • 奥比中光相机pythonAPI color.py运行报错 (-5:Bad argument) in function ‘cvtColor‘
  • 南和网站建设公司建筑设计网课
  • 网站建设与管理 自考网络营销的四大基础理论
  • 毫秒级自动对焦,超高景深液态镜头在机器视觉检测中的应用
  • 了解一下攻击树(从攻击者的视角审视自身系统)
  • 【MySQL体系】第7篇:MySQL锁机制深度解析与实战
  • 【代码随想录算法训练营——Day50(Day49周日休息)】图论——98.所有可达路径