9. 最佳实践
“生产级 RAG 不仅仅是单个组件的堆砌,而是将 4 个阶段的 16 个步骤编排成一个可靠、可观测且持续进化的系统。” —— RAG 生产原则
本章提供了一份以生产为导向的全方位指南,涵盖了 RAG 工作流的 4 个阶段及 16 个具体步骤。我们强调实战落地、工具选型指导以及生产就绪的设计模式。
9.1 四阶段 RAG 工 作流概览
生产级 RAG 系统需要协同多个组件。每个阶段都旨在解决特定的挑战,并需要精细的工具选择与实现。
四大阶段
9.2 阶段 1:离线索引 / 数据准备
离线阶段将各种来源的原始数据转化为待查询的向量索引。这一阶段决定了检索质量的上限——“垃圾进,垃圾出”。
关键步骤要点:
- 数据摄取:建立模块化的连接器架构(PDF, Notion, SQL, Web),确保数据流的统一规范化。
- 解析与提取:使用具备布局感知能力的解析器(如 LlamaParse),保留表格和文档结构。
- 数据清洗:系统性移除页眉页脚、乱码及冗余空白。
- 高级分块:采用“父子分块”或语义分块,平衡检索精度与生成上下文的完整性。
- 元数据提取:自动化提取标题、摘要、关键词和分类,为后续的精确过滤打下基础。
- 混合 Embedding:结合稠密向量(语义)与稀疏向量(关键词),不漏掉任何匹配可能。
- 索引存储:利用 HNSW 索引实现海量向量的高性能检索。
9.3 阶段 2:在线检索 / 查询处理
在线阶段处理用户的实时请求,并将其转化为最优的生成上下文。
关键步骤要点:
- 查询转换:利用多查询 (Multi-Query) 或 HyDE 技术,弥合用户语言与文档语言之间的鸿沟。
- 智能路由:根据查询意图将任务导向最合适的路径(向量检索、网页搜索或直接回答)。
- 混合搜索:通过 RRF(倒数排名融合)算法完美结合语义和关键词匹配。
- 重排序 (Reranking):使用 Cross-Encoder 模型对召回结果进行二次精排,大幅提升 Top-K 准确度。
- 上下文选择:应用 MMR(最大边界相关性)确保选中的文档既相关又具备多样性。