跳到主要内容

RAG项目的核心解决方案

Milvus 概述

Milvus 是一个开源的向量数据库,专为 AI 应用设计,用于存储和检索向量数据。

为什么需要向量数据库?

文本、图像、音频等非结构化数据格式各异,带有丰富的底层语义。Embeddings(嵌入) 将非结构化数据转换成数字向量,捕捉其基本特征。向量数据库则实现快速、可扩展的搜索和分析。

三种部署模式

模式适用场景向量规模
Milvus Lite快速原型开发、边缘设备~百万级
Milvus Standalone单机服务器、中小型生产1~10亿
Milvus Distributed大规模 K8s 集群十亿~数百亿

Milvus 为何如此快速?

  • 硬件感知优化:针对 AVX512、SIMD、GPU、NVMe SSD 优化
  • 高级搜索算法:支持 IVF、HNSW、DiskANN 等,比 FAISS 快 30%-70%
  • C++ 搜索引擎:核心组件使用 C++,性能瓶颈在搜索引擎
  • 面向列式存储:只读取查询涉及的字段,减少数据访问量

支持的搜索类型

  • ANN 搜索:查找最接近的前 K 个向量
  • 过滤搜索:带条件过滤的 ANN 搜索
  • 范围搜索:指定半径范围内的向量
  • 混合搜索:多向量场搜索
  • 全文搜索:基于 BM25
  • Rerankers:结果重排序
  • 获取/查询:按主键或表达式检索

AI 集成

  • Embeddings 模型:PyMilvus 集成多种嵌入模型
  • Reranker 模型:优化搜索结果顺序
  • LangChain/LlamaIndex:作为向量存储组件