大模型实践分享:Agent融合RAG、大幅降低大模型的幻觉,提供更准确可靠问答体验
TFlow AI通过融合RAG问答系统与Agent框架,提供了一个创新的解决方案,旨在提高B端业务场景下的AI客服和导购应用的响应质量和准确性。本文将深入探讨这一组合的优势及其在实际应用中的表现,为读者揭示如何利用先进技术优化客户服务体验。
实践产品介绍,TFlow Ai是面向B端业务场景Agent平台,能按流程处理任务(SOP),围绕目标来进行离散推理。能快速搭建Ai客服、AI导购等应用。产品允许LLM与环境进行交互,根据环境数据的反馈不断的调整行动计划/策略。且整个sop的过程是由文本来控制。
基础信息如下:
- 使用 文心一言 3.5的模型,未微调
- 做了逻辑处理的Agent框架
- 单条回复的消耗不到2K token。
一、为什么需要RAG+Agent的组合
当前Rag问答通常会存在较大的幻觉,模型容易基于自身知识进行胡编乱造。通常企业期望只基于知识库内容进行解答,不乱发散。而我们发现Agent有很好的观察、思考的机制。能有效的控制模型的发散问题
所以我们团队将两者进行融合来进行知识库的问答,发现能很好的控制模型发散和幻觉,只用知识库检索的片段来回答。
RAG+Agent的优势:
- 借助Agent观察与思考,来理解检索到的知识片段。
- 让Agent(Re-Act)的要解决的问题、目标,进行针对性选择和解答。
符合客户诉求:对于to B的客服场景问答而言,提供准确可靠的信息是非常重要的。而Agent+Rag的组合能够很好的让模型,围绕知识库中与用户提问相关的片段来回答。解决掉模型幻觉严重,过于发散,回答牛头不对马嘴的问题。
二、先来分别看下Rag和Agent的基本处理逻辑
Rag流程
常见rag问答
流程:
- 问题向量化,检索相似片段
- 将“提示词+用户提问+check片段 ”打包发给大模型
- 模型进行解答
问题:当check是用于补充模型的知识,当片段与问题不相关或不足以解释问题时。模型容易基于自己的理解进行解答,从而胡编乱造。
Agent(Re-act)流程:
re-act agent处理逻辑
流程:
- 用户:输入问题
- 观察:用户输入,工具数据的返回
- 思考:内容与问题、目标、流程的相关性
- 行动:回答用户问题 / 调用工具补充信息
优势:在Re-act模式下。Agent在解答问题时,会观察用户的提问、工具的返回,思考与用户提问的相关性,通过提示词约束后,可以始终围绕着目标、要求来展开。
那当用户提问时,借助Agent调用知识库获取片段问题的片段,再让Agent来回答用户的问题
三、融合Agent和Rag融合的方案&流程
OK,现在我们将两个流程融合在一起。
- 让Agent来处理用户的提问,调用rag的能力,获取chack片段进行观察思考。
- 同时围绕用户的提问来进行解答
- 效果:从而规避掉check中不相关的问题和有干扰的内容,防止模型强行对check内容与用户提问进行关联
融合后的流程下:
Agent+Rag
处理流程示例:
用户提问
1)Agent:第一轮处理理解用户提问
- Agent观察:用户提问
- Agent思考:理解问题与提示词(目标、任务流程等)关系
- Agent行动:反写用户提问。调用知识库工具
2)Rag:处理(处理部分)
- 问题的向量化
- 向量数据库的检索;
- 返回检索check
3)Agent:第二轮处理,处理知识库片段内容
- Agent观察:知识库返回的知识片段
- Agent思考:理解知识库片段与用户问题、提示词(目标、任务流程等)的关联性与问题
- Agent行动:回复
四、看下实际处理的结果
进行两个提问:以某充电桩基于产品手册用户问答为例如
- 问题1:“如何充电”,知识库有对应的答案片段 + 干扰片段
- 问题2:“充电政策是什么”,知识库中没有对应的答案片段,会返回不相关内容
问题处理的回复效果如下:
五、处理流程分析
1. 分析用户提问:如何充电。知识库返回对应的答案片段 + 干扰片段
第一轮agent处理过程:
1)观察:如何充电
2)思考:用户想要了解如何充电,这是一个关于产品使用的基本问题。
3)行动:
- 动作:调用知识库
- 扩写问题、补充关键信息:”充电桩如何充电”
知识库处理
1)问题向量化:充电桩如何充电
2)检索:检索产品手册向量库
3)获取片段:
- 片段1:# 分布式2路充电桩说明书。重要:充电桩安装位置需要符合消防要求;设备需要定期巡检。充电桩需同步安装漏电保护装置(建议20A);电动车充电桩使用指南1XXXXXX;
- 片段2:# 免费充电时长设置 适应场景:所有场所,按键直充场景, 1.进入方法:通过菜单键设置进入,具体设置方法见电子版说明书–>按键部分;
- 片段3:# 充到饱套餐使用 注:部分设备有此功能 使用方法: 用微信或支付宝扫一扫设备二维码,选择【端口】–>【充满自停】–>【开启充电】使用规则: 此功能先扣费,充电结束后自动退回多余金额.
第二轮Agent思考处理:
1)观察
2)用户问题:充电桩如何充电
3)参考片段:
- 片段1:# 分布式2路充电桩说明书。重要:充电桩安装位置需要符合消防要求;设备需要定期巡检。充电桩需同步安装漏电保护装置(建议20A);电动车充电桩使用指南XXXXXX;
- 片段2:# 免费充电时长设置 适应场景:所有场所,按键直充场景, 1.进入方法:通过菜单键设置进入,具体设置方法见电子版说明书–>按键部分;
- 片段3:# 充到饱套餐使用 注:部分设备有此功能 使用方法: 用微信或支付宝扫一扫设备二维码,选择【端口】–>【充满自停】–>【开启充电】使用规则: 此功能先扣费,充电结束后自动退回多余金额.
4)思考:根据知识库的内容,以及用户问题,充电的步骤是需要将充电插头接入空闲插座,连接好插座后,选择以下两种方式之一启动充电。扫码充电:XXXXXX
5)行动:最终回复:根据您的提问,以下是关于如何充电的详细步骤:
- 将充电插头接入空闲插座,连接好插座后,选择以下两种方式之一启动充电。
- 扫码充电:连接好充电器后,用手机微信或支付宝扫一扫设备二维码。第一步选择刚才的插座端口,第二步选择相应的金额,第三步点击“开始充电”启动充电。
- 刷卡充电:连接好充电器后,用已授权且有余额的电卡,紧贴设备相应端口的刷卡区(距离小于5cm),听到“刷卡成功”时,插座端口自动启动充电。
- 结束充电时,设备会通过微信或支付宝推送给付款人,并提示具体的充电结束扣费金额,充电时间,停止原因等信息。
2. 用户提问:充电政策,知识库没有对应的答案
检索出来的知识片段如下:
- 片段1:「1.5.高级设置1)通过设备详情页,可以进入高级设置,进行充电桩的一些参数设置高配版智能10路充电桩说明书重要:安装位置需要符合消防要求,严禁安装在公共门厅、疏散走道、楼梯间、安全出口,烟雾不得阻挡逃生通道。充电桩需同步安装漏电保护装置(建议20A);露天安装时插座和机箱需要防雨、防水; 设备需要定期巡检。」
- 片段2:最后一个“1500”是终止充电功率,当充电功率大于此值时,设备会因为负载过大而停止充电。 示例电量计费设置: 设置1度电的计费基准,最小0.1元,最大9.99元。
- 片段3:6、免费充电设置按设置键切换到对应的功能,此时语音播报“免费充电设置”,显示界面显示“-P6-”。 按数字键0或者1(0:正常模式;1:免费充电模式),再按确键。 执行成功显示“SUCC”,执行失败显示“FAIL”。 比如输入:1+确认键,则打开免费充电功能。0+确认键,则关闭免费充电功能,切换到正常充电模式。
而Agent第二轮的思考过程
1)观察
2)用户问题:充电桩的充电政策
3)参考片段:
- 片段1:「1.5.高级设置1)通过设备详情页,可以进入高级设置,进行充电桩的一些参数设置高配版智能10路充电桩说明书重要:安装位置需要符合消防要求,严禁安装在公共门厅、疏散走道、楼梯间、安全出口,烟雾不得阻挡逃生通道。充电桩需同步安装漏电保护装置(建议20A);露天安装时插座和机箱需要防雨、防水; 设备需要定期巡检。」
- 片段2:最后一个“1500”是终止充电功率,当充电功率大于此值时,设备会因为负载过大而停止充电。 示例电量计费设置: 设置1度电的计费基准,最小0.1元,最大9.99元。
- 片段3:6、免费充电设置 按设置键切换到对应的功能,此时语音播报“免费充电设置”,显示界面显示“-P6-”。 按数字键0或者1(0:正常模式;1:免费充电模式),再按确键。 执行成功显示“SUCC”,执行失败显示“FAIL”。 比如输入:1+确认键,则打开免费充电功能。0+确认键,则关闭免费充电功能,切换到正常充电模式。
4)思考:根据知识库的返回,并没有直接回答用户关于“充电政策”的具体内容。
5)行动:最终回复:非常抱歉,关于充电政策的具体内容,我们的知识库中并没有直接的信息。但我可以告诉您,我们的充电桩安装位置需要符合消防要求,严禁安装在公共门厅、疏散走道、楼梯间、安全出口,并且需要同步安装漏电保护装置。如果您需要更详细的信息,建议您查阅我们的产品手册或联系我们的客服部门
五、结论
综上所述,我们可以看到,在Agent与rag结合后,借助Agent能给rag带来好处
1)用户问题的扩写,补充用户问题中缺失的部分;
- 例1:用户询问如何充电时,Agent会补充用户提问中缺失的部分,让问题更完整;
2)通过Agent观察、思考机制,识别检索结果中与问题相关的部分,进行针对性选择内容来进行解答。不相关的内容不会强行关联。核心关注与问题的相关性。
3)模型本身的知识,可以根据选择来使用。示例中,提示词要求模型只能基于知识库回复进行解答。限制了模型本身自己的知识的发挥。
对于to B的客服场景问答而言,提供准确可靠的信息是非常重要的。
- Agent+Rag的组合能够很好的让模型,围绕知识库中与用户提问相关的片段来回答。
- 从而解决掉模型幻觉严重,过于发散,回答牛头不对马嘴的问题。
本文由 @易俊源 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自 Unsplash,基于 CC0 协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。
- 目前还没评论,等你发挥!