高级RAG和简单RAG的区别

很多公司号称自己做了RAG,其实只是最原始的版本:

1
2
3
4
5
6
7
8
9
用户问题

Embedding

TopK召回

丢给LLM

回答

这叫 Naive RAG(朴素RAG)。

什么是Naive RAG

典型架构:

1
2
3
4
5
6
7
8
9
Question

Embedding

Vector Search

Top5 Chunks

LLM

特点:

  • 开发简单
  • 成本低
  • 很快上线

问题:

  • 容易召回错文档
  • Chunk切坏上下文
  • 长文档效果差
  • 多跳问题基本废

什么是Advanced RAG

行业后来发现:问题不在模型而在检索。

Query Rewrite

先让LLM改写问题。

1
2
3
4
5
6
7
8
9
10
用户:
去年利润为什么下降?



检索问题:
2025年度利润下滑原因
成本变化
收入变化
管理层解释

检索质量直接提升。

Multi Query

一次生成多个检索问题。

1
2
3
4
5
6
7
8
利润下降原因



利润变化
收入下降
成本增长
现金流变化

然后合并结果。

不只向量检索。

同时做:

1
2
3
BM25关键词
+
Embedding检索

很多企业文档其实关键词更重要。

Reranker

召回50篇。
再让模型重新排序。

1
2
3
4
5
Top50

Rerank

Top5

这是现代RAG最重要的提升之一。
很多时候:Reranker提升 > 换大模型。