最近一年,LLM展示了强大的能力,但是面对幻觉、最新的知识以及复杂任务时往往略显不足。RAG(Retrieval Augmented Generation,检索增强生成)通过集成外部知识库来解决类似问题,取得了很不错的效果。
这里,我整理RAG相关的方案、优化手段、评估指标等内容,以便对RAG有更全面的了解。此外,也介绍了最常用的一些向量数据库和RAG框架
✅RAG的四种基础范式:
1️⃣ 基于查询的RAG:将用户查询与检索到的信息整合,直接输入到生成器的初始阶段
2️⃣ 基于潜在表示的RAG:检索到的对象作为潜在表示整合到生成模型中,增强模型的理解和生成内容的质量
3️⃣ 基于Logit的RAG:在解码过程中通过Logit整合检索信息
4️⃣ 推测性RAG:使用检索代替纯生成,以节省资源并加快响应速度
⭕️RAG增强方法有五组方法来提升RAG系统的性能
1️⃣ 输入增强
2️⃣ 检索器增强
3️⃣ 生成器增强
4️⃣ 结果增强
5️⃣ 整个流程的增强
⭕️大模型的局限性
✅ 幻觉问题
✅ 知识盲点
✅ 记忆力有限/长尾问题
✅ 时效性问题
✅ 数据安全问题
✅ 没有外部世界感知
✅ 无用户建模
⭕️ RAG(检索增强生成)技术
👉 传统的方式是问题通过解析后形成问题正文然后传导给大模型,大模型完成回答
👉 RAG又称为“检索增强生成”。
RAG流程,我们需要从整个流程来回溯一下:
1、首先用户提出问题,这个问题从始至终不会发生变化
2、然后我们需要理解用户的问题,知道用户提问的意图和方向
3、接下来就是我们需要根据用户的问题,去检索我们的知识库,找到与用户问题相关的信息,查找出与之相关的的文档或者文本内容
4、最后我们需要将这些文档或者文本内容进行整合,组成一个完整的提示词,提供给大语言模型用于生成
5、最后通过大语言模型生成相对精确的答案,返回给用户
把RAG全流程已经整理📚好了,适合正在研究RAG技术的同学。都放在知识库了,希望对大家有帮助!