TIL-什么是RAG

RAG是Retrieval Augmented Generation的缩写,中文名为检索增强生成。

它是一种结合了信息检索和文本生成的技术,旨在增强大语言模型处理知识密集型任务的能力。

RAG的基本工作流程如下

  1. 检索:根据用户的查询,利用检索模型从外部知识库中获取相关的背景信息。通常是将查询向量化,然后在向量数据库中进行相似度搜索,找出最相关的若干条记录。
  2. 增强:将用户查询和检索到的背景信息一起嵌入到预设的提示模板中,生成增强后的提示。
  3. 生成:将增强后的提示输入到语言模型中,生成最终的输出文本。 通过融合外部知识,RAG可以让语言模型生成更加准确、符合上下文的回答,减少幻觉和错误信息。同时RAG也比较灵活,可以通过更新知识库来适应知识的变化,而无需重新训练整个语言模型

与微调(fine-tuning)相比,RAG有以下优势

  1. 更新知识更加高效,只需修改知识库即可,不用重新训练模型
  2. 更适合知识会随时间变化的动态场景
  3. 可以利用更大规模的外部知识,不受模型参数规模的限制