开启左侧

大模型Rag - 向量数据库

[复制链接]
作者:CSDN博客
一、什么是向量数据库?

向量数据库(Vector Database)是专门为存储和查询高维向量而设计的数据库系统。它主要应用于语义检索、推荐系统、图像识别等场景,通过 embedding 模型将非结构化数据(如文本)转化为向量,再利用向量数据库完成存储与高效检索。
与关系型数据库的核心区别
特性关系型数据库向量数据库
存储数据类型多种字段类型(int, string 等)向量(float 数组)和文档
检索方式精确匹配、范围查询相似度匹配(向量距离)
索引结构B+ 树、哈希索引IVF、PQ、HNSW 等向量索引
应用场景结构化数据管理非结构化数据语义搜索
向量数据库的核心能力体现在高效的相似度检索,它必须在大规模向量集合中快速找到“最接近”的向量,而不仅仅是相等匹配。
二、主流向量数据库盘点

当前向量数据库生态大致可以分为两类:
    专为向量而生的数据库:如 Chroma、Milvus、FAISS 等;传统数据库添加向量支持:如 Elasticsearch、Redis、ClickHouse 等。
三、Chroma:轻量易用的向量数据库

Chroma 是一款开源、AI 原生的向量数据库,支持本地和服务端部署。它为开发者提供了简洁的 API 和开箱即用的体验,适合中小型项目的快速开发。
核心特性
    安装简便,一行命令 pip install chromadb 即可;支持多语言调用(Python、JavaScript 等);集成主流 AI 开发框架(如 LangChain);支持混合检索:元数据过滤 + 向量相似度检索。
四、Milvus:工业级向量数据库之选

Milvus 是由 Zilliz 开发的云原生向量数据库,具备强大的横向扩展能力,适用于千万甚至亿级向量的管理。
核心特性
    本地/服务端/分布式部署,灵活选择;支持 GPU 加速、角色权限控制;丰富的索引类型和相似度度量(如 L2、余弦、IP);与 Chroma 类似支持混合检索和多语言调用。
五、Chroma 与 Milvus 对比总结

特性维度        Chroma        Milvus
上手难度        ⭐⭐⭐⭐☆(易上手)        ⭐⭐☆☆☆(较复杂)
部署方式        本地 / 服务端        本地 / 服务端 / 分布式
可扩展性        中等        高
检索能力        支持元数据 + 向量检索        支持更多相似度度量与索引算法
权限与监控        暂不支持        支持角色权限、监控与日志功能
适合项目规模        中小型        中大型
六.索引

Flat 索引(全表扫描)

Flat 是最原始的方式,它直接对每一个向量进行逐个计算相似度并排序。
✅ 优点:100% 精度
❌ 缺点:速度慢,不适合大数据量
适合场景:
    数据量 < 5,000精度要求极高的科研类项目
IVF 倒排索引

IVF(Inverted File Index)通过KMeans 聚类将向量集合分成多个簇,在检索时先找到最相近的簇,再在簇内做局部扫描。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

发布主题
阅读排行更多+

Powered by Discuz! X3.4© 2001-2013 Discuz Team.( 京ICP备17022993号-3 )