我们已经学习了 Query Translation、Routing、 Query Construction和 Indexing。
现在我们继续要按照上图的节点顺序回到 Retrieval(检索)。
在传统的 RAG 系统中,基本的流程是:
- Retrieval(检索):从数据库中检索出与用户查询相关的候选文档。
- Generation(生成):根据检索到的文档和查询生成回答。
- Output(输出):最终生成的答案。
为了提升 RAG 系统的准确性,我们可以:
-
Ranking:在初步检索到一组候选文档后,通过进一步的评估对这些文档进行重新排序,以便提高相关性和生成质量。
-
Refinement:在检索文档阶段进行更细致的筛选和优化,确保用于生成的文档更加精准。目标是优化检索结果,并在生成之前提升生成的基础质量。
一、Ranking
我们这里主要说一下 Re-Rank:对检索到的候选文档进行重新排序的过程。这个步骤通常是为了提高生成模型的质量,确保生成的答案或内容更相关、更精确。
具体来说,Re-Rank的做法一般有以下几种:
-
基于相似度的排序:可以使用基于查询和文档之间相似度的度量方法,如余弦相似度、点积等。
-
基于深度学习的排序模型:一些更复杂的 Re-Rank 方法会利用深度学习模型,比如使用 BERT 或 T5 等预训练语言模型,进一步评估候选文档和查询之间的相关性。
-
使用回归模型:有时可以将候选文档的特征(如长度、相似度、标题等)输入回归模型,预测每个文档的重要性得分,最终根据得分对文档排序
在前面介绍过了 RAG Fusion:生成多个用户查询来检索多篇文档,然后利用 RRF(Reciprocal Rank Fusion)对检索结果进行重新排名。
相关的代码在:
https://github.com/realyinchen/RAG/blob/main/02_Query_Translation.ipynb
二、Refinement
Self-reflection RAG 是一个相对较新的概念,通常是指在 RAG 系统中,结合自我反思的机制来改进生成结果。这个过程会在生成步骤中加入自我审视,帮助模型更好地理解和修正之前的生成结果,以提高最终的输出质量。
CRAG
CRAG(Corrective Retrieval Augmented Generation)是一种为 RAG 设计的策略,它将自我反思/自我评分机制应用于检索到的文档。
-
如果文档正确,则对文档进行知识细化,去除与用户查询无关的部分。
-
如果文档模棱两可,那么:
-
对文档进行知识细化,去除与用户查询无关的部分。
-
进行网络搜索相关知识。
-
如果文档不正确,那么进行网络搜索相关知识。
论文地址: https://arxiv.org/pdf/2401.15884
我们将在这里借助于 Qwen + BAAI + LangChain + LangGraph + Qdrant 实现一种简单的 CRAG(Corrective RAG)。
想象一个状态字典 state 依次经过上图的节点,每个节点都会更新或者不更新 state。简单地来说就是:
-
根据用户查询(question)检索文档(documents);
-
将 question 和 documents 输入评分节点判断 documents 是否不相关:
-
如果不相关,则改写查询并执行网络搜索,然后开始准备生成回答;
-
如果相关,则开始准备生成回答。
我们可以使用 LangGraph 实现上述的流程,具体代码链接在文末。
我分别提了两个问题:
-
第一个问题可以在知识库中检索到;
-
第二个问题是关于 DeepSeek-R1 的,显然知识库中没有,只能借助于网络搜索。
Self-RAG
Self-RAG(Self-Reflective Retrieval-Augmented Generation)是一种结合了自我反思或自我评估的 RAG 策略,用于提升从检索到生成的整个流程的质量。它在传统 RAG 框架的基础上,引入了额外的“自我检查”步骤,以更高效地评估和改进检索和生成结果。
原始论文地址:https://arxiv.org/abs/2310.11511
我们接着用 LangGraph 实现上述简单的 Self-RAG 流程,具体代码链接在文末。
然后我们询问一个问题,可以清楚看到整个 Self-RAG 流程是按照上述的工作流进行的:
GitHub 链接: https://github.com/realyinchen/RAG/blob/main/06_Retrieval.ipynb
三、如何系统学习掌握AI大模型?
AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。
学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。
这里给大家精心整理了一份
全面的AI大模型学习资源
,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享
!
1. 成长路线图&学习规划
要学习一门新的技术,作为新手一定要先学习成长路线图,方向不对,努力白费。
这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
2. 大模型经典PDF书籍
书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)
3. 大模型视频教程
对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识。
4. 2024行业报告
行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估,以了解哪些行业更适合引入大模型的技术和应用,以及在哪些方面可以发挥大模型的优势。
5. 大模型项目实战
学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。
6. 大模型面试题
面试不仅是技术的较量,更需要充分的准备。
在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。
全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以
微信扫描下方优快云官方认证二维码
,免费领取【保证100%免费
】