RAG流程梳理

RAG(Retrieval-Augmented Generation)是一种基于检索的生成模型,将生成模型和检索系统结合起来,在文本生成任务中,结合外部知识库来提高模型的表现。它通过两步流程来生成答案:首先从外部数据库或文档中检索相关信息,然后通过生成模型(如GPT、BART等)基于检索到的信息生成答案。

核心流程

RAG模型的工作流程可以简要分为以下几个步骤:

  1. 检索阶段

    • 用户输入查询问题。

    • 使用检索系统(如BM25、FAISS、Dense Retriever等)从预先构建的知识库中检索出与问题相关的文本片段。

  2. 生成阶段

    • 将检索到的相关文本作为输入,结合查询问题,喂入生成模型(如DeepseekR1,GPT4等)。

    • 生成模型根据检索到的信息生成最终的回答。

1. 数据准备

在RAG模型中,首先需要准备一个外部知识库。这可以是任何结构化或非结构化的文本数据,例如文档集合、维基百科、产品信息、技术文档等。为了提高检索效果,可以进行以下预处理:

2. 检索模块

检索模块是RAG流程的核心,目的是快速找到与查询问题相关的文本。常见的检索方法包括:

其他常用的检索: