Post

What is RAG?

What is RAG?

RAG 的全称是 Retrival-Augumented Generation.

Retrieval

检索外部知识库(文档、网页、数据库等)。

加载网页时,主要关注两点:

  1. PageRank,基于链接分析,网页的重要性
  2. BM25/TF-IDF,基于内容,查询与网页内容的匹配度

检索的主要方式

向量检索:文本转换为向量(Embedding),通过向量相似度(余弦相似度)匹配内容

关键词检索:传统方法(BM25,是TF-IDF的优化),基于关键词匹配检索文档

混合检索:混合向量和关键词

Augmented

将检索信息与原始查询混合成增强的Prompt

当前,在我的观点里,System prompt & ollama 提出的 Model prompt 等也是一种增强

Generation

注意,目前已经默认RAG流程中使用Frozen的LM进行生成。

但早期有过将Retrieval加入预训练、微调过程的尝试,仍有专门训练Retrieval的尝试。

RAG的优势

  1. 减少幻觉(Hallucination):依赖外部知识库,生产的答案更可靠
    1. 可解释性:可通过检索到的文档解释生成结果的来源
  2. 动态知识更新:无需重新训练模型,更新知识库即可更新信息
    1. 高效性:避免将全部知识存储在模型参数中,降低模型的体积

RAG的挑战

  1. 知识库构建:长文本切分可能会破坏连贯语义信息
  2. 噪声处理:包含无关或矛盾的信息
This post is licensed under CC BY 4.0 by the author.