点击上方
蓝色
“
顶层架构领域
”,关注精彩与你分享
在数字化时代,人工智能(AI)的每一次技术革新都可能引领行业的变革。CRAG(Chain of Thought Retrieval-Augmented Generation)技术,作为AI领域的新星,以其独特的检索增强型能力,为自然语言处理(NLP)带来了前所未有的深度和精准度。
本文将带您深入了解CRAG的创新之处,以及它如何推动AI技术的边界。
一、传统RAG的局限与CRAG的创新
RAG技术通过结合检索与生成,极大地提升了语言模型在理解和生成自然语言方面的能力。然而,随着技术的发展,其在文档与查询相关性评估上的不足逐渐暴露。
CRAG技术的提出,正是为了解决这些问题,通过引入检索评估器,实现了对检索文档与查询相关性的精确评估,从而显著提升了模型的性能。
我会给你一个小型场景,假设我们正在参加一个开卷考试。
我们遵循的策略,比如说对于每个主题,我们查阅书籍并确定相关部分。在形成观点之前,将收集到的信息分为三组:
正确
,
错误
和
模糊
。分别处理每种类型的信息。然后,根据这些处理过的信息,进行编译和总结。在考试试卷上写下我们的答复。这就是CRAG所做的。
二、CRAG的关键思想流程
CRAG的三个关键组成部分:
检索评估器,知识提炼算法和知识搜索
CRAG推理概述:
构建了一个检索评估器来评估检索到的文档与输入的相关性,并根据此估计一个置信度,基于此可以触发不同的知识检索操作{正确,错误,模糊}。
-
如果是**
正确
**,这意味着检索到的文档包含了查询所需的必要内容,然后使用知识提炼算法重写检索到的文档。
-
如果检索到的文档是**
错误
**的,这意味着查询和检索到的文档是不相关的。因此,我们不能将文档发送给LLM。在CRAG中,使用网页搜索引擎检索外部知识。
-
对于**
模糊
**的情况,这意味着检索到的文档可能接近但不足以提供答案。在这种情况下,需要通过网页搜索获取额外的信息。因此,既使用知识提炼算法也使用搜索引擎。
CRAG的工作流程是对传统RAG方法的一次系统性优化。它通过以下步骤,确保了信息的准确性和深度。
检索评估器
检索评估器显著影响后续程序的结果,对确定整个系统的性能至关重要。
CRAG利用T5-large模型作为检索评估器,对检索到的文档进行细致的相关性评分。这一过程类似于学术研究中的文献筛选,确保只有最相关的信息被用于后续的知识提炼。
知识提炼算法
对于检索到的相关文档,CRAG设计了一种分解然后重新组合的知识提取方法,以进一步提取最关键的知识陈述。
CRAG进一步通过启发式规则,将文档拆解为细粒度的知识单元,并筛选出最具相关性的知识点重新组合,以形成内部知识。这一过程不仅提高了信息的利用效率,也加深了模型对知识的理解。
知识搜索
在检索到的文档不足以回答问题时,CRAG通过网页搜索API获取额外信息,确保生成的答案全面且准确。所以,
我们不是使用错误的块,而是使用互联网上的来源进行最终答案生成
。这一机制体现了CRAG技术的灵活性和适应性。
下面我们通过LangGraph来实现CRAG检索增强
三、LangGraph