外观
什么是 RAG?
What is RAG?
到目前为止,我们已经了解了让 LLM 适应特定任务的两种方式:
- 提示词工程(Prompt Engineering)——在推理阶段引导模型的行为
- 微调(Fine-tuning)——调整模型的内部参数。
这两种方法都很强大,但它们都有一个共同的根本局限:模型只能利用自己已经具备的知识。
LLM 并不会自动知道新信息、私有数据、公司内部文档,或者训练数据截止日期之后出现的任何内容。
反复重新训练模型以保持信息更新,既不现实,成本也很高。
这正是检索增强生成(Retrieval-Augmented Generation,RAG)派上用场的地方。我们来拆解一下这个词:

- 检索(Retrieval):从数据库或记忆等知识来源中获取并调用信息。
- 增强(Augmented):用额外的信息或上下文来强化、丰富某个过程——这里指的是文本生成过程。
- 生成(Generation):创造或产出某种内容的过程——这里指生成文本或语言。
借助 RAG,语言模型可以使用从向量数据库中检索到的信息(这些信息通常被认为是可靠的),确保自己的回答基于真实世界的知识和上下文,从而降低产生幻觉的可能性。
这让模型的回答更准确、更可靠、也更贴合上下文,同时也不需要反复用新数据重新训练 LLM。这让模型的回答更接近「实时」。
要理解 RAG 在实践中究竟是如何运作的,我们首先需要了解向量数据库——这是支撑检索的存储层。