EN

向量数据库与RAG生产实践:Pinecone、Weaviate与pgvector(2025版)

构建生产级检索增强生成系统,实现大规模向量搜索

返回教程列表🌐 Read in English
高级23 分钟

向量数据库与RAG生产实践:Pinecone、Weaviate与pgvector(2025版)

构建生产级检索增强生成系统,实现大规模向量搜索

检索增强生成(RAG)是将LLM与最新知识结合的主流模式。本指南涵盖向量数据库选型(Pinecone、Weaviate、Qdrant、pgvector)、嵌入模型选择与优化、文档分块策略、混合搜索(向量+关键词)、重排序、RAG质量评估,以及部署长期保持准确的生产级RAG系统。

向量数据库与RAG生产实践(2025版)

为什么选择RAG?

LLM存在知识截止日期,且无法访问专有数据。RAG通过在查询时检索相关文档并将其纳入提示上下文来解决这一问题。优势:无需针对新知识进行微调、支持引用和来源归属、实时知识更新、减少事实性查询的幻觉。

向量数据库选型

Pinecone

完全托管,针对生产规模优化。提供无服务器和基于Pod的选项。支持10亿+向量,搜索延迟低于100毫秒。支持向量搜索的同时进行元数据过滤。强一致性。最适合:希望零基础设施管理的团队。

Weaviate

开源,支持自托管或托管云。内置多模态支持(文本+图像)。开箱即用的混合搜索(BM25 + 向量)。提供GraphQL和REST API。最适合:需要灵活性和多模态RAG的团队。

Qdrant

开源,基于Rust(高性能)。支持量化,内存减少4倍。支持命名向量(每个文档多个嵌入)。最适合:高性能本地部署。

pgvector

PostgreSQL扩展——为现有Postgres添加向量搜索。支持HNSW和IVFFlat索引。可与完整SQL查询结合。最适合:已使用Postgres且希望简单向量搜索而无需引入新系统的团队。

对比矩阵

Pinecone:托管/易用性A+,扩展性A+,功能A,成本C。Weaviate:托管/易用性B+,扩展性A,功能A+,成本A(自托管)。Qdrant:托管/易用性B,扩展性A+,功能A,成本A。pgvector:托管/易用性A(如果已用Postgres),扩展性B,功能C,成本A。

文档处理流水线

分块策略

固定大小分块:每N个token切分(例如512个token,重叠50个token)。简单但忽略文档结构。

语义分块:在自然边界(段落、章节、句子)处切分。保留上下文。使用LangChain的语义文本分割器或LlamaIndex的句子窗口分割器。

层次化分块:存储文档摘要 + 章节摘要 + 详细块。小到大检索:找到相关的小块,扩展为更大的父上下文供LLM使用。

嵌入模型选择

OpenAI text-embedding-3-large:3072维,质量最佳,$0.00013/1K tokens。text-embedding-3-small:1536维,质量良好,$0.00002/1K tokens。

开源替代:Cohere Embed v3(多语言,适合企业),E5-large-v2(强大的开源模型),all-MiniLM-L6-v2(快速、小巧,适合低延迟),BGE-M3(多语言,跨语言检索能力强)。

选择依据:查询语言(多语言需要多语言模型)、延迟要求(较大模型较慢)、成本(高用量场景选择开源)。

混合搜索

将向量搜索(语义相似度)与关键词搜索(BM25/TF-IDF)结合,可显著提升检索质量。

互惠排名融合(RRF):从向量搜索获取top-K结果(已排序),从关键词搜索获取top-K结果(已排序),应用RRF公式合并分数:score(d) = sum over each ranker of 1/(k + rank(d)),其中k=60(常数)。按合并分数排序。该方法优于单独使用任一方法,尤其适用于包含特定技术术语的查询。

使用交叉编码器重排序

两阶段检索:阶段1(快速):使用双编码器(向量搜索)检索top-100候选。阶段2(准确):使用交叉编码器(Cohere Rerank或BGE-reranker)对top-100重排序。将重排序后的top-5结果返回给LLM。

交叉编码器速度较慢(同时比较查询和文档),但比双编码器更准确。用于最终排序,而非初始检索。

RAG评估

RAGAS框架评估:忠实度(答案是否基于检索到的上下文?)、答案相关性(答案是否针对问题?)、上下文精确度(检索到的块是否相关?)、上下文召回率(是否检索到所有相关块?)。

在包含100-500个问答对的测试集上运行RAGAS。目标:忠实度 > 0.90,上下文精确度 > 0.75。

LLM作为评判:使用GPT-4或Claude对答案质量进行1-5分评估。大规模自动化评估用于回归测试。

生产级RAG架构

查询 → 重写(HyDE或查询扩展) → 检索(混合搜索,top-100) → 重排序(top-5) → 生成(LLM结合上下文) → 后处理(引用提取、格式化) → 响应。

缓存:缓存重复查询的嵌入,缓存相同查询+上下文对的LLM响应。

索引新鲜度:对更新的文档安排每日或实时重新嵌入。使用文档变更检测避免重新嵌入未更改内容。

RAG系统会随着知识库过时而性能下降——实施自动化新鲜度监控和更新流水线,确保生产可靠性。

相关工具

PineconeWeaviateQdrantpgvectorLangChainLlamaIndex
所属主题:RAG 检索增强生成