检索增强生成(Retrieval Augmented Generation, RAG)[1] 最初于2020年提出,是一种结合预训练检索器和生成器的端到端方法,旨在通过模型微调提升性能。
2022年12月,ChatGPT的发布标志着RAG的一个重要转折点。从此,RAG更加注重利用大语言模型(LLM)的推理能力,通过引入外部知识提升生成效果。
什么是RAG?
RAG通过整合外部知识源的信息,增强LLM的能力,使其生成更准确和上下文相关的答案。其典型流程包括以下三步:
- 索引:将原始数据清洗后转换为嵌入向量,创建可快速检索的索引。
- 检索:根据用户查询,从知识库中检索与查询语义相关的信息。
- 生成:将用户查询与检索结果结合,通过LLM生成最终答案。
为什么需要RAG?
尽管LLM强大,但它无法解决所有问题。RAG通过以下方式弥补了LLM的不足:
- 减少幻觉现象:基于事实生成内容。
- 提升时效性:快速更新知识库。
- 保护数据安全:在本地处理私有数据。
- 控制答案范围:对生成过程提供精确控制。
RAG的特点
RAG具备以下特点:
- 可扩展性:减少模型规模和训练成本。
- 准确性:提高生成答案的可靠性。
- 可控性:允许定制和知识更新。
- 可解释性:生成结果有据可查。
- 多功能性:适用于问答、对话等多种任务。
结论
RAG可被比喻为LLM的“开卷考试”,通过引入外部参考,提升其回答能力。未来,我们将探讨更多先进的RAG技术。