探索RAG与Multi-Agent的结合:解决复杂任务的新方法

在这里插入图片描述

最近帮企业定制了一个langgraph+rag的项目,跟大家简单介绍一下设计架构和具体的应用。如果大家有兴趣,我也可以出一期视频,给大家详细介绍一下。我们会一步步探讨如何构建一个可以控的Agent,以执行RAG任务,并最终展示一个简短的演示。

什么是RAG?

RAG,全称Retrieval-Augmented Generation,是一种辅助AI语言模型生成基于外部信息文本的方法。在RAG中,我们将数据拆分成多个小块,然后将这些小块嵌入到低维空间并存储在向量存储中。当用户提出查询时,该查询也会嵌入到相同的低维空间,与向量存储中的信息进行比较,从而检索到相关的信息作为上下文,并与查询一起输入到语言模型中,生成基于上下文的最终答案。

什么是Agent?

智能代理是先进的AI系统,设计用于执行需要连续推理的复杂任务。它们可以预见未来的步骤,记住过去的对话,并使用不同的工具根据情况和需求调整其响应。

为什么我们需要控制Agent?

控制智能代理的原因在于代理自主性与过程控制之间的权衡。代理的自主性越高,我们对其控制就越少。使用常规代理时,我们无法控制它何时使用工具或以何种顺序使用工具,也无法控制其得出的结论,特别是在处理其内在机制中的幻觉或预训练知识时。然而,通过构建工作流程,我们可以定义解决问题的具体路径,从而对每一步进行全面控制,但这需要量身定制的解决方案,可能耗时且复杂。

构建可控的RAG代理的基本模块
语义相似性

在我们的嵌入空间中,嵌入数据的方式使得相似的词汇彼此接近。例如,“国王”和“王后”的距离会比“狗”近。利用这种语义相似性,我们可以在简单的RAG任务中,例如历史事件查询中,检索到相关的上下文并生成答案。

处理复杂问题

对于更复杂的问题,我们需要不同的方法来构建数据。例如,我们可以使用语言模型生成章节摘要,包含关键点和章节总结,增加找到解决此类问题的可能性。

多向量存储

为了精确处理复杂问题,我们可以建立多个向量存储,例如文本块存储、章节摘要存储和书籍引用存储。

构建可控RAG代理的工作流程

我们需要以下能力:
工具:代理需要具备检索和回答问题的工具。
推理能力:构建解决问题的流程。
过程控制:确保每一步按预期进行。
终止判断:知道何时停止代理的操作。
评估任务表现:评估任务完成的效果。

Agent Tools

我们需要三种检索工具:引用检索、章节摘要检索和文本块检索。此外,还需要一种回答工具,用于在中间步骤或最终生成答案时使用已有的上下文。

问题匿名化

为了避免预训练模型的偏见,我们可以将问题中的特定实体替换为变量,例如将“关羽是如何打败华雄的?”替换为“X是如何打败Y的?”,构建一般计划后再替换回原始名称。

代理工作流程

输入问题并匿名化。
使用计划器构建匿名问题的解决步骤。
去匿名化并分解为检索或回答工具。
任务处理器选择合适的工具进行操作。
根据上下文和计划进行重新规划,直到问题解决或达到终止条件。

终止条件

我们可以通过以下方法判断何时停止:
每一步询问语言模型当前上下文是否足够回答问题。
直到新信息量低于某个阈值。
限制图的递归次数,如达到100次遍历后停止。

评估

我们可以通过以下指标评估RAG任务的效果:
答案正确性:答案是否事实正确。
忠实度:生成的答案是否基于检索的信息。
答案相关性:答案与问题的相关性。
语义相似度:生成答案与标准答案的语义相似度。

总结

通过结合RAG和智能代理,我们能够解决复杂的任务,尽管可能需要权衡时间和成本,但在解决无法通过其他方法解决的任务时,这种方法具有显著优势。
如果您有任何问题或需要进一步的讨论,请随时联系我。谢谢!

常见问题
为什么不同时检索所有信息?

这是设计上的选择,同时检索所有信息可能会导致时间和成本的增加,且不一定需要所有的信息。例如,针对某些特定问题,代理可能只需要引用检索工具。

如何验证答案是否是幻觉?

我们可以使用语言模型作为判断工具,验证生成的答案是否基于原始上下文。

这种方法是否具有成本效益?

这取决于具体的使用场景。如果现有解决方案无法解决问题,而通过客户支持等方式需要花费数天时间,那么这种方法可以在几秒钟或几分钟内解决,从而节省时间和成本。
关注我,每天带你开发一个AI应用,每周二四六直播,欢迎多多交流。

在这里插入图片描述

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值