RAG 研究范式的不断演变
本章主要介绍了 RAG 研究范式的演变,分为 Naive RAG、Advanced RAG 和 Modular RAG 三种类型
早期 RAG 虽然成本低且性能优于原生 LLM,但仍然存在许多不足
直接更新检索知识库可以确保信息保持最新,无需频繁重新训练,适用于动态数据环境
存储静态数据,需要重新训练以更新知识库和数据
擅长利用外部资源,特别适用于文档或其他结构化/非结构化数据库
可以应用于将预训练知识与大型语言模型结合,但可能对于频繁变化的数据源不太实用
无需大量数据处理和处理
依赖于构建高质量的数据集,有限的数据集可能无法带来显著的性能改进
专注于信息检索和集成外部知识,但可能无法完全定制模型行为或写作风格
可以根据特定的语调或术语调整 LLM 行为、写作风格或特定领域知识
答案可以追溯到特定的数据源,提供更高的可解释性和可追溯性,类似于黑盒,不一定清楚模型为何作出某种反应
需要计算资源支持检索策略和相关技术
需要维护外部数据源的集成和更新
高质量训练数据集的准备、微调目标定义和提供相应的计算资源是必要的
数据检索可能带来更高的延迟
在 fine-tuning 后,LLM 可以通过检索响应而无需检索,从而降低延迟
Naive RAG 和 Modular RAG 旨在解决 Naive RAG 中的特定缺陷
Naive RAG 是最早获得广泛关注的基于 ChatGPT 的方法之一
Naive RAG 涉及传统的过程:索引、检索和生成
获取数据源和建立数据索引的管道通常在离线状态下进行
数据索引涉及以下步骤:
1. 数据清理和提取
2. 分块
3. 将不同文件格式(如 PDF、HTML、Word、Markdown 等)转换为纯文本