认识 RAG

RAG (Retrieval-Augmented Generation) 又称检索增强生成,通过外部知识改善 llm 的幻觉、即时性和专业性

为什么不直接使用 llm 生成,而是先进行 “检索增强” 呢? 这是因为 llm 的缺陷导致的

直接使用 LLM 的缺陷实际应用的需求
・幻觉
・信息过时
・参数化知识效率低
・缺乏专业领域的深度知识
・推理能力弱
・领域精准问答
・数据频繁更新
・生成内容可解释可溯源
・成本可控
・数据隐私保护

通过 RAG 缓解了 llm 的缺陷,检索增强生成的步骤如下:

![[RAG-20241214111206.png]]

即以下 3 个关键步骤:

  1. 建立索引:对外挂知识库建立索引,便于后续检索;
  2. 检索:根据用户的问答去检索外挂知识库;
  3. 生成:用提取的外挂知识 + 用户提问构建 LLM 的提问 prompt,最终输出答案

以上搭建的流程是标准的 RAG 流程,能解决一定场景的问题,经过发展,已经逐步向 ### Advanced RAGModular RAG 的方向演进

![[RAG-20241214111649.png]]

上图说明 llm 应用的不同进化阶段

基础描述
PromptEngineering通过构建更好的提示,让 llm 回答更佳,包括 Few-shot、Cot、Xot、ToT 、RaAct 等技术
NaiveRAG标准 RAG 流程
AdvancedRAG对检索进行优化
ModularRAG模块化,定制化
GraphRAG对索引优化
AgenticRAG在 rag 的不同阶段引入 agent
微调微调模型