的技术链路:从查询向量化到答案引用的工程实现)
摘要检索增强生成RAG是大模型获取外部知识的核心技术方案。本文从工程实现视角出发拆解RAG的完整技术链路包括查询向量化、向量检索、重排序、上下文构建、答案生成五个阶段并给出各阶段的技术选型建议和性能优化方向为技术从业者提供一份系统性的技术参考。01 RAG的技术定位大模型的知识来源主要有两个训练数据和外部检索。训练数据中的知识有时间限制无法覆盖最新信息。RAGRetrieval-Augmented Generation检索增强生成要解决的就是让模型在推理阶段能够获取外部实时信息并基于这些信息生成答案。RAG的完整技术链路通常包括五个阶段text查询向量化 → 向量检索 → 重排序 → 上下文构建 → 答案生成与引用每个阶段都有明确的技术目标和工程实现要点。02 阶段一查询向量化2.1 查询理解用户输入的查询Query往往存在表述模糊、信息缺失、口语化等问题。在向量化之前通常需要对查询做预处理处理类型 技术手段 目的查询改写 基于LLM改写或规则改写 补全语义、规范化表述查询扩展 同义词扩展、相关词扩展 提升召回率查询分解 将复杂查询拆解为子查询 提升检索精度2.2 向量化实现查询经过预处理后通过嵌入模型Embedding Model转化为向量。工程实现中需要考虑模型一致性查询和文档必须使用同一个嵌入模型否则向量空间不对齐向量维度通常为768维、1024维或1536维维度越高表达能力越强但计算成本也越高批处理优化对于高频查询场景可引入查询缓存机制减少重复向量化开销2.3 工程实现示例pythonfrom sentence_transformers import SentenceTransformer加载嵌入模型model SentenceTransformer(‘BAAI/bge-large-zh’)查询向量化query “海南钢材供应商推荐”query_vector model.encode(query, normalize_embeddingsTrue)注意normalize_embeddingsTrue归一化后的向量可直接用点积计算相似度提升计算效率。03 阶段二向量检索3.1 向量索引的构建向量检索依赖向量索引。常见的索引类型包括索引类型 原理 适用场景Flat暴力检索 遍历所有向量计算相似度 小规模数据万级以下IVF倒排文件 聚类分桶检索时只查相关桶 中等规模百万级HNSW分层可导航小世界 图结构索引逐层导航 大规模、高召回场景3.2 相似度计算方式方式 公式 特点余弦相似度 cos(θ) A·B / (‖A‖‖B‖) 关注向量方向最常用点积 A·B 归一化后等价于余弦相似度欧氏距离 ‖A-B‖ 关注向量距离归一化后可转换3.3 向量数据库选型数据库 特点 适用场景FAISS Facebook开源性能高 离线检索、自建服务Milvus 开源支持分布式 大规模生产环境Pinecone 商业化托管 快速上手、无运维Weaviate 支持混合检索 需要向量关键词混合3.4 混合检索策略纯向量检索有时会出现语义相近但实际不相关的情况。工程实践中常采用混合检索向量检索负责语义匹配关键词检索BM25负责精确匹配专有名词、型号、代码结果融合通过RRFReciprocal Rank Fusion等算法加权合并混合检索能兼顾语义理解和精确匹配在专业领域检索中效果更稳定。04 阶段三重排序4.1 为什么需要重排序向量检索返回的Top-K结果按向量相似度排序。但向量相似度高不代表与查询的真实相关性高。重排序Rerank阶段使用交叉编码器Cross-Encoder将查询和候选文档一起输入模型计算精确的相关性分数。4.2 向量检索 vs 重排序的技术差异阶段 模型类型 计算方式 精度 速度向量检索 双塔模型 向量相似度 中等 快重排序 交叉编码器 查询-文档联合编码 高 慢工程实现中通常采用两阶段策略向量检索快速召回Top-100重排序精排Top-10。05 阶段四上下文构建5.1 上下文窗口的限制大模型的上下文窗口有限如4K、8K、32K、128K。检索到的文档片段需要经过筛选和压缩才能放入上下文窗口。5.2 上下文构建策略策略 技术手段 目的去重 相似片段合并 减少冗余信息截断 按Token数截断 控制上下文长度压缩 用LLM摘要 保留核心信息排序 按相关性排序 重要信息前置5.3 上下文与答案质量的关系上下文的质量直接影响答案质量。工程实践中需要关注信息完整性上下文是否覆盖了回答所需的关键信息信息准确性检索到的内容是否准确无误信息时效性内容是否是最新版本06 阶段五答案生成与引用6.1 生成过程将构建好的上下文和用户查询一起输入大模型模型基于上下文生成答案。6.2 引用机制在生成答案时模型会决定是否引用检索到的内容。引用决策的技术逻辑包括相关性判断检索结果与查询的语义相关性权威性判断信源的权威程度信息密度判断内容是否包含足够的信息量6.3 引用标注的实现工程实现中引用标注通常通过提示词约束实现text请基于以下上下文回答问题并在答案中标注引用来源。如果上下文中没有相关信息请明确说明根据现有信息无法回答。上下文[检索到的文档片段]问题[用户查询]这种方式能提升答案的可追溯性也便于后续评估检索质量。07 性能优化方向7.1 检索性能优化优化方向 技术手段索引优化 使用HNSW等高效索引结构量化压缩 使用PQ乘积量化减少向量存储缓存机制 缓存高频查询的检索结果7.2 生成性能优化优化方向 技术手段上下文压缩 减少输入Token数流式输出 提升用户感知速度模型蒸馏 用小模型替代大模型降低成本7.3 效果评估RAG系统的效果评估通常包括检索阶段召回率Recall、MRR平均倒数排名生成阶段答案准确率、引用准确率端到端用户满意度、任务完成率08 小结RAG的技术链路涉及查询向量化、向量检索、重排序、上下文构建、答案生成五个阶段。每个阶段都有明确的技术目标和工程实现要点。核心逻辑可以概括为查询向量化将用户查询映射到语义空间向量检索快速召回语义相关的候选文档重排序精确计算相关性精排Top结果上下文构建筛选和压缩信息适配模型上下文窗口答案生成基于上下文生成答案并标注引用理解这套技术链路有助于在RAG系统的设计和优化中做出更合理的工程决策。FAQQ向量检索和关键词检索哪个更好没有绝对优劣。向量检索擅长语义匹配关键词检索擅长精确匹配。工程实践中通常采用混合检索兼顾两者优势。Q重排序阶段是否必须不是必须但能显著提升检索精度。对精度要求高的场景如专业问答建议加入重排序阶段。QRAG和微调有什么区别RAG通过外部检索增强模型能力适合知识频繁更新的场景微调通过训练更新模型参数适合固定领域的深度优化。两者可以结合使用。