什么是检索增强生成(RAG)?
什么是检索增强生成(RAG)?
检索增强生成(Retrieval-Augmented Generation,简称RAG),从名字就能看出,这是一种专为信息检索设计的技术。它的思路非常直接:假设你有大量文档,想要从中搜索并提取信息——就像向一个“知道答案的人”提问,或者是,向一个“已经研读了你提供的所有材料的人”提问。当被询问时,这个人不仅能指出信息在材料中的位置,还能组织出恰当的文字回答。
在RAG技术中,这个“人”就是大语言模型(LLM),那些“研读材料”被称为上下文(context),而最终的文字回答则是基于从“增强知识”(即那些研读材料或上下文)中检索(R) 到的信息生成(G)的输出。当然,回答的质量取决于材料的质量和数量:上下文需要包含相关信息,但不能掺杂过多无关内容。和人类一样,模型往往会更关注开头和结尾的信息;随着上下文长度增加,模型准确定位所需信息的难度也会越来越大。
因此,RAG流程中一个非常重要的步骤是:筛选出最可能包含答案的文档并整合成上下文,而不是把所有材料都给模型。
RAG是一种灵活性很强的技术,它的效果依赖于通用大语言模型的能力。再用刚才的类比:LLM就像一个受过良好教育的人,只要你让它研读某个主题的材料,它就能回答相关问题。任何时候,你都可以给它换一批不同主题的内容,或者更新版本的材料,再让它回答新的问题。这里的关键是:这个人受教育程度越高,无论面对什么主题,给出的答案质量就越好。对应到语言模型上,这意味着在预算允许的情况下,选择尽可能大的通用模型通常效果更好——对于RAG来说,我们需要的是一个“多面手”。
如果说RAG是“通才的技术”,那么微调就是“专才