RAG 检索增强生成

RAG(Retrieval-Augmented Generation,检索增强生成)是在生成之前先检索:拿用户的问题去知识库里捞出相关片段,把这些片段和问题一起拼成新的输入,再交给模型生成回答。

它结合了两件事:信息检索(Retrieval)负责从外部知识库找材料,文本生成(Generation)负责把材料组织成回答。

注意这里没有发生的事:没有训练,没有改模型的任何一个参数。 模型拿到的还是那一段文字,只是这段文字里多了它本来不知道的东西。

这是理解 RAG 的关键,也是它所有优点和缺点的来源。最后 §6 会回到这一点上:RAG 本质上是一次 prompt 重构。

阅读更多