1.RAG是什么?
RAG(Retrieval Augmented Generation)的中文为检索增强生成技术,结合了检索(R)与生成(G)的技术,这个结合的过程增强了语言模型在处理特定任务时的性能,从外部知识元检索相关信息,并将这些信息用于指导语言模型生成更准确、丰富的回答。
可以理解为,RAG为搜索引擎,将用户输入内容作为索引,在外部知识库中搜索相关内容,结合大预言模型能力生成回答。RAG最大特点:
2.RAG的特点
解决大模型处理知识密集任务时遇到的各种挑战,如生成幻觉(hallucination)、过时知识、缺乏透明和可追溯的推理过程。
RAG能让大模型实现外部记忆,能够解决许多大模型常见问题的同时,提供更准确的回答。由于没有训练过程,总体成本就会很低。
3.RAG的应用
问答系统、文本生成系统、信息检索,以及结合多模态大模型后能够对图片进行描述。
4.RAG工作原理
经典RAG由三个部分构成——索引(indexing)、检索(retrieval)、生成(generation)。
索引部分负责处理外部知识,检索部分负责接受问题,生成部分将检索到的内容与原始问题一起做为提示输入到大模型中。
5.向量数据库(Vector-DB)
向量数据库是专门储存外部数据的地方。
6.RAG流程示例
传统大模型:
用户输入问题
→在该问题出现之前就训练好的模型会表示不知道或生成无关的数据,出现幻觉。
加上RAG:
用户输入问题进入检索模块
→检索模块把问题向量化做embeddings
→在已存在的Vector-DB中检索出相似性最高的一些片段
→将用户的问题与这些片段文本共同输出给生成模块
→生成模块将这些问题与文本作为提示词来生成回答内容
通过不断更新Vector-DB来解决专业性知识和高时效信息。