高级RAG和简单RAG的区别
很多公司号称自己做了RAG,其实只是最原始的版本:
1 | 用户问题 |
这叫 Naive RAG(朴素RAG)。
什么是Naive RAG
典型架构:
1 | Question |
特点:
- 开发简单
- 成本低
- 很快上线
问题:
- 容易召回错文档
- Chunk切坏上下文
- 长文档效果差
- 多跳问题基本废
什么是Advanced RAG
行业后来发现:问题不在模型而在检索。
Query Rewrite
先让LLM改写问题。
1 | 用户: |
检索质量直接提升。
Multi Query
一次生成多个检索问题。
1 | 利润下降原因 |
然后合并结果。
Hybrid Search
不只向量检索。
同时做:
1 | BM25关键词 |
很多企业文档其实关键词更重要。
Reranker
召回50篇。
再让模型重新排序。
1 | Top50 |
这是现代RAG最重要的提升之一。
很多时候:Reranker提升 > 换大模型。