今天来到LangChain 团队的RAG优化策略演讲的最后环节,也就是下图右边的检索和生成部分。
检索Retrieval
检索部分LangChain团队提到了4种优化方法,分成了两类:排序和改进。
排序包含3种优化方法,重排序rerank,RankGPT和RAG-fusion:
- Re-Rank
Re-Rank就是重排序,原理比较好理解,就是把向量数据库中检索到的结果,比如最相似的前10条记录,再进行排序,并筛选出更小一部分结果,比如前2条。
那为什么不直接选择前2条,还要再进行排序?
主要是因为为了提升在向量数据库中的检索结果,一般会使用向量索引,向量索引的算法(常见的为HNSW算法)都有一定的随机性,会导致除了第一条以外,其他的结果不太准确,因此需要再进行排序。
可以参考Rerank——RAG中百尺竿头更进一步的神器,从原理到解决方案 - 知乎 (zhihu.com)
- RankGPT
这种方法就是使用大模型作为Agent实现重排序的能力,可以参考开源项目:
GitHub - sunnweiwei/RankGPT: Is ChatGPT Good at Search? LLMs as Re-Ranking Agent [EMNLP 2023 Outstanding Paper Award]
不过这种方式貌似比较少见,具体效果待验证。
- RAG-Fusion
这是LangChain团队给的检索优化的第三种方式,
LangChain给出的代码示例其实是把多次查询的结果进行重排序,再返回给大模型,有点把RAG-Fusion和Re-Rank组合的意思。
不过还有一种方式比较常见,是把文本检索的结果和向量检索的结果进行重排序,也算是一种RAG融合吧~
不过这种方式虽然对检索结果有提升,但是提升幅度并不大,谨慎使用~
CRAG (Corrective RAG)
检索部分另外一个优化方式是通过CRAG的方式,CRAG翻译过来是纠正式RAG,就是对于检索结果设定一个标准。
向量检索不是筛查出最相似的前N个值吗?但是这并不代表前几名的相似度一定满足要求,比如全班成绩前几名也有可能不及格最高分可能就59分
如果发生这种情况,一般就代表问题的答案可能并不在向量数据库里,这时候最好的方式是借助外部能力。
当发现检索的结果都不满足要求的时候,就通过重写问题,再去互联网查询相关的内容,把网上查找的结果再做一次RAG,发送给大模型生成结果。
CRAG其实已经需要结合Agent智能体的方式来实现了~在检索和生成环节的优化过程,RAG开始需要和Agent进行融合。
生成 Genration
生成环节其实没有太多的优化办法,主要就是靠大模型和提示词,大模型能力强,结果就好。
不过也不是完全没有优化点的,LangChain在分享中提到了Self-RAG,通过每一步自我反省的方式实现更好的检索效果。
Self-RAG、CRAG已经不仅仅是RAG了,需要结合Agent的能力,因此需要结合LangGraph的能力实现。
本文只做基本介绍,详细的代码实现还需参考LangChain官网。
https://github.com/langchain-ai/langgraph/blob/main/examples/rag/langgraph_crag.ipynb
Self-RAG
Self-RAG 是每执行一步,就进行一次反省,判断这个步骤是否达到要求,如果不满足要求,就返回到第一步进行重写优化。
实际操作中,实现 RAG 需要对上述步骤进行逻辑分析:比如
-
我们需要知道什么时候进行检索(基于问题和索引的构成)
-
何时改写问题以提升检索效率,或者何时抛弃无关的检索结果并重新检索。
在实现过程中,需要结合工作流的方式,将整个流程穿成一个环进行处理。
自适应RAG(Adaptive RAG)
自适应RAG是结合问题分析和Self-RAG的一种方法。先分析问题是否适合RAG,还是应该去互联网查找资料,或者直接通过大模型回答。
需要先通过提示词,让大模型进行问题路由,选择具体是RAG还是其他途径回答。
LangChain 团队提到的RAG优化策略已经全部完毕,总共提到了17种优化方法,再加上自适应RAG,一共18种方法。
虽然方法挺多的,但实际效果并不是等同的,有的方法优化效果明显,但还有部分方法甚至会起到反效果。
在验证过程中,像ColBERT和Re-rank起到的优化效果比较明显。
不过~想要直接感受RAG的优化效果,最好的办法还是亲自尝试。
那么,我们该如何学习大模型?
作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
一、大模型全套的学习路线
学习大型人工智能模型,如GPT-3、BERT或任何其他先进的神经网络模型,需要系统的方法和持续的努力。既然要系统的学习大模型,那么学习路线是必不可少的,下面的这份路线能帮助你快速梳理知识,形成自己的体系。
L1级别:AI大模型时代的华丽登场
L2级别:AI大模型API应用开发工程
L3级别:大模型应用架构进阶实践
L4级别:大模型微调与私有化部署
一般掌握到第四个级别,市场上大多数岗位都是可以胜任,但要还不是天花板,天花板级别要求更加严格,对于算法和实战是非常苛刻的。建议普通人掌握到L4级别即可。
以上的AI大模型学习路线,不知道为什么发出来就有点糊,高清版可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费
】
![](https://img-blog.csdnimg.cn/img_convert/3587f31bb1fcc8ca9b6f3d532fd7e407.jpeg)
二、640套AI大模型报告合集
这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。
三、大模型经典PDF籍
随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。
四、AI大模型商业化落地方案
作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。