向量数据库在LLM时代的技术原理与实战应用

张开发
2026/4/20 1:40:23 15 分钟阅读

分享文章

向量数据库在LLM时代的技术原理与实战应用
向量数据库在 LLM 时代的技术实践1. 背景概述大语言模型LLM推动了语义检索、问答生成RAG等场景的落地而高效存储与检索高维向量成为关键。向量数据库通过ANN近似最近邻索引、多种距离度量与可扩展的分布式架构为 LLM 提供毫秒级的相似度查询能力。2. ANN 索引技术索引算法原理适用场景备注HNSWHierarchical Navigable Small World多层跳表结构层层向上聚合支持 O(log N) 搜索高召回、低延迟的在线查询内存占用较高调参需注意efConstruction、m。IVFInverted File Index把向量空间划分为 K 个簇先定位最近的簇再在该簇内精确搜索大规模离线批处理需要预先训练聚类中心适合 CPU 环境。PQProduct Quantization将高维向量拆分为子段每段做量化压缩降低存储 计算成本内存受限、对召回率容忍度高的场景常与 IVF 结合IVF‑PQ实现“压缩分层”。实战建议在 LLM 语义检索中HNSW PQ组合最为常见——先用 PQ 降低存储再在查询阶段使用 HNSW 快速召回。3. 距离度量度量公式适用场景L2欧氏距离(\sqrt{\sum_i (a_i - b_i)^2})适用于向量维度统一、幅度变化明显的场景。Cosine余弦相似度(\frac{a·b}{Dot点积(a·b)与 Cosine 相似但未归一化适合已做归一化的向量或强调幅度差异的模型。选择技巧使用预训练模型如text-embedding-ada-002时默认返回余弦相似度直接采用 Cosine 可省去二次归一化。4. 主流向量数据库对比数据库索引核心支持距离部署方式生态与插件适用规模MilvusHNSW、IVF‑PQ、DiskANNL2、Cosine、Dot容器化K8s 本地磁盘与 Spark、Flink、LangChain 深度集成数十亿向量Pinecone闭源 ANN自研Cosine、L2完全托管云服务与 OpenAI、LangChain 一键对接按需弹性扩容QdrantHNSW 自研过滤层Cosine、L2、Dot开源自部署 / 云托管Rust 实现低延迟支持多租户千万级向量WeaviateGraphQL ANNHNSW、IVFCosine、L2、Dot开源 云端原生支持多模态文本、图片 混合搜索数十亿向量选型建议快速上线Pinecone托管开箱即用。自定义 成本控制Milvus、Qdrant可自建灵活调参。多模态需求Weaviate内置向量化 原生 GraphQL。5. 实践案例基于 Milvus 的 RAG 语义搜索数据准备使用sentence-transformers将企业文档分块≈ 300 tokens转为 768‑维向量。将向量及对应文本块存入 Milvus字段包括id、vector、metadata章节、来源。检索阶段用户查询经同一模型得到向量。Milvus 使用 HNSW (ef256) 召回 Top‑kk5相似块。生成阶段将召回的文本块拼接为上下文调用 GPT‑4或本地 LLaMA进行答案生成。关键调参向量维度768 → 若使用text-embedding-3-small1536 维则可提升召回率。分块策略重叠 20% 可降低段落切分导致的信息缺失。召回数 k实验表明 5~10 块效果最佳过多会稀释上下文。6. RAG 优化技巧优化点具体做法效果块Chunk大小动态调节

更多文章