核心原则:先别急着优化,搞清楚问题在哪!
在投入任何优化之前,建立评估体系是重中之重。没有度量,就无法改进。

评估指标:
检索精度: 召回的文档块是否真正相关?(HR@K, MRR)
生成质量: 答案是否准确、相关、流畅?(可以用LLM作为裁判)
faithfulness /真实性: 答案是否严格基于检索到的文档,没有"幻觉"?
延迟和成本: 整个流程的响应时间和计算开销。
优化思路 = 诊断问题 ->针对性地应用优化策略 -> 评估效果 ->迭代循环。

层次一: 基础优化-提升数据质量(根基)
如果喂给模型的是垃圾,那产出的也是垃圾。这是最基础、最有效、性价比最高的优化层。
1.智能文本分割:
问题: 简单固定长度的分割会割裂语义(比如把一个句子从中间切断)。
优化: 使用更高级的分割策略。
递归分割: 先按段落/标题等大边界分割,再对过长部分进行二次分割。
语义分割: 利用模型或算法识别语义连贯的单元。
滑动窗口: 设置重叠区域,避免关键信息恰好落在边界。

2.元数据增强:
问题: 检索时只依赖纯文本内容,缺乏上下文。
优化: 为每个文本块附加丰富的元数据,如: 来源文件、章节标题、作者、创建日期、类型等。这些元数据可以用于混合检索或后处理过滤。
3.数据清洗与预处理:
问题: 原始数据包含大量噪音(格式错误、乱码、无关信息)。
优化: 建立数据清洗流水线,去除无关内容,标准化格式。
层次二: 检索层优化-找得更准、更相关
这是RAG的核心,目标是确保召回的文档块与问题最相关。

1.检索器升级:
问题: 基础的余弦相似度检索可能不够精准。
优化:
微调嵌入模型: 使用领域内的数据对开源的嵌入模型(如BGE,M3E)进行微调,使其更懂你的专业术语和表达方式。这是提升检索质量的王牌手段之一。
尝试不同的嵌入模型: 不同模型在不同场景下表现各异,进行评测选择(如OpenAl的text-embedding-3-large、Cohere的嵌入模型等)
2.混合检索:
问题: 单纯基于语义的检索可能忽略关键词匹配的重要性。
优化:
结合稀疏检索(如BM25)和稠密检索(嵌入模型)。BM25对精确关键词匹配更有效,两者结果融合可以取长补短。

3.重排序:
问题: 初步检索返回的Top K个结果中,可能混入一些相关性不高的文档
优化:
使用一个更小、更专精的重排模型对Top K结果进行重新排序。这个模型专门判断"Query-Doc"对的相关性,将最相关的文档排到最前面,再送给LLM。这是另一个王牌手段,能显著提升输入LLM文档的质量。
4.查询理解与改写:
问题: 用户的原始查询可能模糊、简短或表述不佳。
优化:
查询扩展: 利用LLM对用户查询进行同义词扩展、生成假设性答案或分解成多个子问题。
HyDE: 让LLM根据查询生成一个假设性的答案/文档,然后用这个生成的文档去检索真实的相似文档。这种方法能更好地捕捉查询意图。

层次三: 生成层优化-让LLM答得更好
在给LLM提供了高质量的检索结果后,如何引导它生成最佳答案。
1.提示工程优化:
问题: 简单的提示可能导致LLM忽略检索到的内容或产生幻觉。
优化:
结构化提示: 明确指令,如"请严格根据以下上下文回答,如果信息不足,请说不知道。"
提供角色和格式要求。
Few-Shot示例: 在提示中提供几个"问题-上下文-答案"的正确示例,让LLM学会如何利用上下文。
2.上下文管理:
问题: 当检索到的文档很长很多时,可能超出LLM的上下文窗口,或者关键信息被淹没。

优化:
Map-Reduce: 将多个文档分别发送给LLM得到子答案,再合并子答案生成最终答案。适合处理多文档。
Refine: 迭代式处理文档,不断基于已有答案和新文档优化答案。
层次四: 高级架构优化-系统性增强
1.迭代检索-生成:
思路: 不让检索和生成一步到位。先让(LLM根据第一轮检索结果进行思考,判断信息是否足够,若不够,则自主提出新的检索查询,进行多轮检索,直到信息充足再生成最终答案。这模仿了人类的研究过程。
2.GraphRAG:
思路: 在索引阶段,不是简单分割文本,而是构建一个知识图谱。检索时在图谱上进行推理和搜索,能更好地捕捉实体间的关系,实现更深层次的推理 。

3.Self-RAG /Corrective RAG
思路: 让LLM在生成过程中具备自我反思能力。例如,在生成每个段落或句子前,判断检索到的信息是否相关、是否足以支持当前论断,并选择性引用来源。这类框架能大幅提升真实性和透明度。
层次五: 持续优化与评估
1.建立评估流水线:
自动化评估流程,对新的优化策略进行A/B测试。
2.反馈循环:
收集用户对答案的正面/负面反馈,这些数据极其宝贵,可以用来持续微调检索器和生成器。

最终建议: 不要试图一次性应用所有优化。从层次一和层次二入手,尤其是微调嵌入模型和加入重排序,这两项通常能带来最显著的性价比提升。
然后根据剩余问题,逐步考虑更复杂的架构。记住,评估是导航仪,没有它你只能在黑暗中摸索。