前面的文章中,为大家介绍过大模型领域的核心技术:RAG(Retrieval-Augmented Generation),即检索增强生成。
大模型的技术原理是不断预测下一个Token,且每一个已经生成的Token都会影响下一个Token的生成。简单来说,大模型就是一个概率预测机器,同样的Prompt会产生不同的答案,这就是所谓的信息幻觉问题。
换个容易理解的说法,针对同一个或同一组Prompt,大模型的结果不具备幂等性。
从2022年底ChatGPT横空出世以来,大模型的信息幻觉(生成错误信息)、知识过时、推理过程不透明等问题,一直困扰着业内各方技术人员,直至RAG技术出现,才算缓解了这个难题。
2023年12月18日,多位知名学者联合发表了一篇关于RAG技术的综述文章《Retrieval-Augmented Generation for Large Language Models: A Survey》,对RAG的三大范式演进(基础RAG、高级RAG、模块化RAG)和检索、生成与增强三大核心组件的关键技术进行了深入探讨。文中还提出了RAG的评估框架与未来研究方向,以及RAG与大模型微调、提示词工程的互补性和多模态能力扩展的潜力。
原文链接:https://arxiv.org/pdf/2312.10997
如果无法访问,可以点击这个链接:https://metaso.cn/s/LlcV6lu
下面是我翻译并总结的这篇文章的核心内容,仅供参考。
一、RAG的三大技术范式
1、基础RAG(Naive RAG)
-
流程:索引(Indexing)→ 检索(Retrieval)→ 生成(Generation)。 -
案例:在开放域问答中,将用户问题向量化后检索相似文档,生成答案。例如,针对“量子计算的优势是什么?”的提问,系统检索维基百科相关段落并生成回答。 -
问题:检索精度低(如召回无关内容)、生成阶段可能出现幻觉、上下文整合不充分。
2、高级RAG(Advanced RAG)
-
预检索优化:采用滑动窗口索引、细粒度分段(如按语义拆分段落)、元数据标签(如文档来源、时间戳)提升检索质量。 -
后检索优化:通过重排序(Re-ranking)和上下文压缩(Context Compression)筛选最相关片段。 -
案例:医疗领域问答中,通过元数据筛选最新临床指南,确保生成答案的时效性。
3、模块化RAG(Modular RAG)
-
特点:模块化设计支持动态组合。 -
搜索模块:支持多源检索(数据库、知识图谱、API)。 -
记忆模块:缓存历史检索结果以加速响应。 -
路由模块:根据任务类型选择不同检索策略。 -
案例:客服系统中,路由模块自动判断用户意图(技术问题→检索产品文档,投诉→检索处理流程),提升服务效率。
二、RAG的核心技术组件
1、检索优化
-
数据源选择:结构化数据(数据库表)与非结构化数据(文本、PDF)的混合使用。 -
索引策略:层次化索引(Hierarchical Indexing)结合粗粒度与细粒度分段。 -
查询优化:使用LLMs重写用户查询(如扩展同义词)以提高检索相关性。
2、生成增强
-
上下文整合:通过“思维链”(Chain-of-Thought)将内容与LLMs内部知识结合。 -
生成控制:限制LLMs仅依赖检索内容(减少幻觉)或允许混合推理(提高创造性)。 -
案例:金融报告中,模型仅检索的最新财报数据生成分析,避免依赖过时知识。
3、增强策略
-
迭代检索:根据初步生成结果二次检索补充信息。 -
自适应检索:动态调整检索范围(如扩大时间窗口或切换数据源)。 -
案例:学术论文写作助手在生成初稿后,自动检索相关研究填补逻辑漏洞。
三、评估方法与挑战
1、评估指标
-
质量指标:上下文相关性(Context Relevance)、答案忠实性(Answer Faithfulness)、答案相关性(Answer Relevance)。 -
能力指标:噪声鲁棒性(Noise Robustness)、反事实鲁棒性(Counterfactual Robustness)。 -
评估工具:RAGAS(专用于RAG的评估框架)、ARES(自动化评分系统)。
2、主要挑战
-
长上下文处理:检索内容过长导致生成速度下降(需平衡检索精度与效率)。 -
多模态扩展:图像、音频等非文本数据的检索与生成尚未成熟。 -
生态工具链:现有工具(如LangChain)对复杂工作流支持不足。
四、未来研究方向
-
垂直优化:提升RAG在专业领域(如法律、医疗)的准确性和领域适应性。 -
混合方法:结合RAG与微调(Fine-tuning),例如训练专用检索器。 -
多模态RAG:支持跨模态检索(如根据文本描述检索图像)。