**RAG(Retrieval-Augmented Generation)**是一种结合检索与生成技术的框架,旨在通过引入外部知识增强生成模型的性能。其核心思想是:在生成文本时,先从外部知识库中检索相关信息,再将检索结果与原始输入结合,作为生成模型的输入,从而提升生成内容的准确性、相关性和信息量。
RAG的流程
RAG的流程主要分为三个阶段:检索(Retrieval)、增强(Augmentation)和生成(Generation)。
1. 检索(Retrieval)
- 目标:从外部知识库中获取与输入问题相关的信息。
- 方法:
- 知识库构建:预先将大量文档(如文本、数据库、网页等)存储在知识库中,并对其进行索引。
- 查询处理:将用户输入的问题转换为查询向量(通常使用预训练的嵌入模型,如BERT、Sentence-BERT等)。
- 相似度匹配:通过向量相似度(如余弦相似度)或关键词匹配,从知识库中检索与查询最相关的文档或段落。