RAG检索增强生成
一种结合了检索与生成能力的人工智能技术,主要用于增强大型语言模型在特定任务中的表现。
含义
RAG 将检索系统与生成模型相结合,当接收到一个查询或问题时,模型首先通过检索模块从大规模知识库中寻找与查询相关的信息片段,然后将检索到的相关信息作为额外输入传递给生成模型,使得生成模型在生成回答时不仅依赖于自身的内部知识,还能利用实时检索到的外部知识资源,从而丰富其输出内容,提高答案的准确性、全面性和时效性。
具体流程
检索:RAG 流程的第一步,从预先建立的知识库中检索与问题相关的信息,为后续的生成过程提供有用的上下文信息和知识支撑。
增强:将检索到的信息用作生成模型,即大语言模型的上下文输入,以增强模型对特定问题的理解和回答能力,将外部知识融入生成过程中,使生成的文本内容更加丰富、准确和符合用户需求。
生成:RAG 流程的最后一步,生成器会利用检索到的信息作为上下文输入,并结合大语言模型来生成符合用户需求的回答。
优势
RAG 模型能够利用大规模知识库,解决了 LLMs 存储容量有限、知识更新滞后、领域知识不足等问题,增强了模型的泛化能力、知识新鲜度和领域适应性。在开放式问答、专业领域问答、对话系统等场景中展现出显著优势。
架构阶段
索引:通过内容分块、向量化等方式,生成索引并存入向量数据库。分块能有效提升检索效率和缓解上下文长度限制,向量化有助于大模型建立语义理解。
检索:从知识库中召回相关内容块,检索方式不局限于关键词检索和向量检索,最终是多种检索方式的结合和互补,混合检索结束后,通过 Rerank 机制对检索结果做整合和排序,生成最终前 n 个匹配度最高的内容块。
出现与发展
RAG 由 Facebook AI Research(FAIR)团队于 2020 年首次提出,在 ChatGPT 发布后(2022 年 12 月)逐渐火起来,成为大模型应用中的热门方案。