检索增强生成(RAG)把信息检索和大语言模型生成结合在一起。但把RAG从demo推到生产环境,需要对流水线的每个环节做精细调优。本文基于生产实践,梳理从分块策略到评估体系的完整优化路径。

一、分块策略:不是越小越好

打开网易新闻 查看精彩图片

文档分块直接决定检索到什么信息。固定大小分块加重叠是最简单的方案,但容易把语义单元切分开。语义分块用自然语言处理找边界——句子、段落、章节的分界点。

打开网易新闻 查看精彩图片

最优分块尺寸取决于检索任务。256-512个token适合事实型问答;1000-2000个token的大块能保留上下文,适合做摘要;小块提升精度。还有一种agentic分块,给每个块生成摘要,检索相关性会更好。

二、嵌入模型选择:通用与专用的权衡

选嵌入模型要看内容类型和语言。OpenAI的ada-002对通用英文内容表现稳定。多语言场景用multilingual-e5或intfloat/multilingual-e5-large,支持跨语言检索。代码、法律、生物医学这些垂直领域,专用嵌入比通用模型更准确。

嵌入维度影响存储和检索速度。ada-002的1536维是稳妥默认。降到768维能减少存储,精度损失很小。Matryoshka嵌入(如intfloat/e5-mistral-7b-instruct)支持灵活维度,按需裁剪。

三、检索调优:混合搜索与元数据过滤

打开网易新闻 查看精彩图片

混合搜索把关键词检索(BM25)和语义检索(嵌入)结合起来。关键词能补上嵌入漏掉的精确匹配,嵌入能补上关键词漏掉的语义关联。两种分数的权重要根据内容特征调整。

元数据过滤缩小检索范围。按日期、类别、来源、文档类型过滤,能提升相关性,还能减少搜索空间从而降低延迟。预过滤(先过滤再搜索)更快,后过滤(先搜索再过滤)更准确。

四、评估体系:不能只测生成质量

评估RAG要同时看检索指标和生成指标。检索侧看命中率、MRR(平均倒数排名)、NDCG;生成侧看答案相关性、忠实度、正确性。RAGAS框架能做自动化评估。建议从真实用户查询构建黄金QA数据集,用用户反馈信号监控生产表现。

优化是迭代过程。需要测试分块尺寸、嵌入模型、top-k值、提示模板的组合。重大变更建议在生产环境做A/B测试。