提升RAG检索回答质量: Shortwave的 4 大优化指南
近日关于RAG(检索增强生成)的讨论热度持续升温。此前有文章指出,不少RAG项目的实际体验并不理想,检索质量常常不尽如人意。更值得注意的是,早在今年3月,就连Perplexity AI的CEO也曾公开表达过对RAG向量相似性检索质量的担忧。本文正是针对这一痛点提供一些优化思路,并以Shortwa ve——一家AI邮件助手公司的设计案例作为核心参照。难得有公司愿意将其产品的详细技术机制公之于众。此外,在01部分还会回答两个常见困惑:“微调和RAG到底选哪个?”以及“有了支持超长上下文窗口的LLM,是否还需要RAG?”
01
现在,支持超长上下文窗口的LLM(如10M tokens的Gemini 1.5)已经出现,很多人觉得RAG没必要了——直接把几百个文档丢给LLM不就行了?然而,有三个关键问题需要先搞清楚:
- :上传如此多的文档,仍然需要考虑哪些文档与问题最相关,否则答案很容易跑偏。
相关性
- :大量文档对模型读入和处理的性能影响有多大?模型能否高效地针对具体问题给出回答?
性能影响
- :文档数量增加,算力成本也会显著上升,这也是为什么很多LLM至今仍无法支持过大的上下文窗口。比如,GPT-4在处理30k汉字内容时,偶尔就会出现宕机的情况。
算力成本
一个有趣的类比是:尽管我们的RAM内存足够大,但很多操作仍需在硬盘上进行读写传输,而不是全部存储在RAM中。

那么,RAG和微调到底怎么选?
02
目前,RAG系统在知识库具备高相关性、高密度以及丰富细节信息时表现最佳。为了确保RAG的高效性,需要对初始检索器、重新排序机制或类似EffectiveGPT的评估器进行严格的质量评估,以下三个标准是关键:
- ——最核心的标准。使用Mean Reciprocal Rank(MRR)来衡量系统的相关度排名,确保与问题最相关的内容排在最前面。
相关性(Relevance)
- :在相关性相同的情况下,优先参考知识密度高的文档,例如由专家撰写的、内容更精炼的材料。
知识密度(Density)
- :尤其在涉及工具调用时,对知识库或工具进行详细描述,能帮助LLM更好地理解每个知识库的用途,比如处理SQL数据库这类需要精确调用的场景。
细节(Details)

需要警惕的是:当前基于向量的语义相似性搜索,在准确性上可能还不如传统的关键词搜索(如BM25)。因此,类似Sourcegraph的CTO建议将语义搜索与关键词搜索结合,以提升RAG检索的整体质量。
现实可行的提升方案,可以参考AI邮件助手Shortwa ve的AI Search机制:

- :对用户原始查询进行优化,消除歧义、补充上下文,使其更清晰、更适合检索系统。
问题重写(Query Reformation)
- :从问题中提取时间、地点、姓名等关键特征,帮助定义检索范围并提高匹配准确性。
关键信息提取(Feature Extraction)
- :一种识别和提升与当前时间点最相关信息的工具。根据查询中的时间特征,对更近期的内容给予更高优先级,适用于强调“近因效应”的场景。
Recency Bias Extractor

- :先用关键词搜索精准匹配,确保高相关性;再辅以向量搜索处理同义词、多模态信息以及语法错误的查询。这样即使关键词不完全匹配,也能捕捉更广泛的语义关系。
关键词与嵌入结合的初步检索(Keyword + Embedding Initial Retrieval)
- :利用从问题中提取的特征(如时间、姓名)在重新排序时给予最高权重(boost),对次相关的内容给予惩罚,从而突出最相关的答案。
启发式重新排序(Heuristic Re-ranking)
关键词匹配度越高的素材获得最高的boost,效果如下曲线所示:

- :MiniLM模型在本地运行,根据改写后的查询和上一步排名靠前的文档,进行更精细的匹配评分。由于计算量较大,只对排名靠前的文档进行此操作。
利用MS Marco MiniLM进行Cross-Encoder Re-ranking
- :Cross-Encoder的评分反馈到启发式排序中,对高分内容boost、低分内容penalize,最终生成精确的相关性排序结果,提供给LLM。
输出最终排序结果
简要总结上述机制:高相关性、高密度、丰富细节的知识库是基础;对用户问题进行优化改写;提取问题关键特征;用关键词搜索先精准匹配;再配合一个或多个重新排序机制,才能实现高质量检索。
03
从Shortwa ve的例子可以看出,一个成熟的AI产品大致是基于LLM,根据用户场景需求开发设计特定的AI工具,这些工具需要基于各种开源模型、Prompt和自定义机制进行封装。比如下面的摘要功能只是用Prompt封装,而AI Search则涉及复杂的场景细化流程。

当需要调用这些工具时,首先需进行工具与用户问题的匹配。

-
- 关于宇宙的好的网名有哪些
- 角色扮演 | 1
- 网名