大模型实践分享:Agent融合RAG、大幅降低大模型的幻觉,提供更准确可靠问答体验

0 评论 1472 浏览 8 收藏 15 分钟

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问答

流程:

  1. 问题向量化,检索相似片段
  2. 将“提示词+用户提问+check片段 ”打包发给大模型
  3. 模型进行解答

问题:当check是用于补充模型的知识,当片段与问题不相关或不足以解释问题时。模型容易基于自己的理解进行解答,从而胡编乱造。

Agent(Re-act)流程:

re-act agent处理逻辑

流程:

  • 用户:输入问题
  • 观察:用户输入,工具数据的返回
  • 思考:内容与问题、目标、流程的相关性
  • 行动:回答用户问题 / 调用工具补充信息

优势:在Re-act模式下。Agent在解答问题时,会观察用户的提问、工具的返回,思考与用户提问的相关性,通过提示词约束后,可以始终围绕着目标、要求来展开。

那当用户提问时,借助Agent调用知识库获取片段问题的片段,再让Agent来回答用户的问题

三、融合Agent和Rag融合的方案&流程

OK,现在我们将两个流程融合在一起。

  • 让Agent来处理用户的提问,调用rag的能力,获取chack片段进行观察思考。
  • 同时围绕用户的提问来进行解答
  • 效果:从而规避掉check中不相关的问题和有干扰的内容,防止模型强行对check内容与用户提问进行关联

融合后的流程下:

Agent+Rag

处理流程示例:

用户提问

1)Agent:第一轮处理理解用户提问

  1. Agent观察:用户提问
  2. Agent思考:理解问题与提示词(目标、任务流程等)关系
  3. Agent行动:反写用户提问。调用知识库工具

2)Rag:处理(处理部分)

  1. 问题的向量化
  2. 向量数据库的检索;
  3. 返回检索check

3)Agent:第二轮处理,处理知识库片段内容

  1. Agent观察:知识库返回的知识片段
  2. Agent思考:理解知识库片段与用户问题、提示词(目标、任务流程等)的关联性与问题
  3. 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)行动:最终回复:根据您的提问,以下是关于如何充电的详细步骤:

  1. 将充电插头接入空闲插座,连接好插座后,选择以下两种方式之一启动充电。
  2. 扫码充电:连接好充电器后,用手机微信或支付宝扫一扫设备二维码。第一步选择刚才的插座端口,第二步选择相应的金额,第三步点击“开始充电”启动充电。
  3. 刷卡充电:连接好充电器后,用已授权且有余额的电卡,紧贴设备相应端口的刷卡区(距离小于5cm),听到“刷卡成功”时,插座端口自动启动充电。
  4. 结束充电时,设备会通过微信或支付宝推送给付款人,并提示具体的充电结束扣费金额,充电时间,停止原因等信息。

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 协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!