11.1 什么是RAG,它有什么特点
11.1.1初识RAG
- RAG(Retrieval Augmented Generation):为生成式模型提供了与外部世界互动提供了一个很有前景的解决方案。
- RAG主要作用类似搜索引擎,找到用户提问最相关的知识或者是相关的对话历史,并结合原始提问(查询),创造信息丰富的prompt,指导模型生成准确输出。
- 本质:应用了情境学习(In-Context Learning)的原理。
- RAG(检索增强生成)=检索技术 + LLM提示
11.1.2 RAG的特定
- 依赖大语言模型来强化信息检索和输出:RAG需要依赖强大的语言模型支持,才能更有效地生成和提供信息。
- 能与外部数据有效集成:RAG能够很好地接入和利用外部数据库的数据资源。
- 数据隐私和安全保障:通常RAG链接的私有数据库不会参与大模型数据集训练中。因此RAG既能提升模型的输出表现,又能有效地保护这些私有数据的隐私性和安全性。
- 数据效果因多方面因素而异:RAG效果受多个因素影响,例如使用语言模型的性能,接入数据的质量,AI算法的先进性以及检索系统设计等。
11.2 RAG技术体系的总体思路
- RAG可分为5个基本流程:
- 知识文档的准备
- 嵌入模型
- 向量数据库
- 查询检索
- 生成答案

RAG的5个基本流程
11.2.1 知识文档的准备
-构建一个高效的RAG系统是,首要步骤是准备知识文档。
- 第一步:需要使用专门的文档加载器(例如PDF提取器)或多模态模型(OCR技术),将这些封面的知识源转换为大语言模型可理解的纯文本数据。
- 第二部:文档切片:将长篇文档分割多个文本块,不仅高效的处理和检索信息,还减轻模型负担
11.2.2嵌入模型
- 嵌入模型的核心任务是将文本转为向量形式,向量表示则更加密集、精确,能够捕捉到句子的上下文关系和核心含义。
- 转换后很简单计算句子间相似性。嵌入模型是链接用户查询和知识库的桥梁,确保了系统回答的准确性和相关性。
11.2.3 向量数据库
- 向量数据库是专门设计用于存储和检索向量数据的数据库系统。
- 在RAG系统中,通过嵌入模型生成的所有向量都会被存储在这样的数据库中。
- 这种数据库优化了处理和存储大规模向量数据的效率,能够迅速检索出用户查询最相关的信息。
11.2.4 知识文档的准备
- 用户的问题会被输入到嵌入模型中进行向量化处理。
- 系统会在向量数据库中搜索与该问题向量语义上相似的知识文本或历史对话记录并返回。
11.2.5 知识文档的准备
- 最终将用户提问和上一步中检索到的信息集合,构建出一个提示模版,输入到大语言模型中,等待模型输出答案即可。