大模型實(shí)踐分享:Agent融合RAG、大幅降低大模型的幻覺(jué),提供更準(zhǔn)確可靠問(wèn)答體驗(yàn)
TFlow AI通過(guò)融合RAG問(wèn)答系統(tǒng)與Agent框架,提供了一個(gè)創(chuàng)新的解決方案,旨在提高B端業(yè)務(wù)場(chǎng)景下的AI客服和導(dǎo)購(gòu)應(yīng)用的響應(yīng)質(zhì)量和準(zhǔn)確性。本文將深入探討這一組合的優(yōu)勢(shì)及其在實(shí)際應(yīng)用中的表現(xiàn),為讀者揭示如何利用先進(jìn)技術(shù)優(yōu)化客戶(hù)服務(wù)體驗(yàn)。
實(shí)踐產(chǎn)品介紹,TFlow Ai是面向B端業(yè)務(wù)場(chǎng)景Agent平臺(tái),能按流程處理任務(wù)(SOP),圍繞目標(biāo)來(lái)進(jìn)行離散推理。能快速搭建Ai客服、AI導(dǎo)購(gòu)等應(yīng)用。產(chǎn)品允許LLM與環(huán)境進(jìn)行交互,根據(jù)環(huán)境數(shù)據(jù)的反饋不斷的調(diào)整行動(dòng)計(jì)劃/策略。且整個(gè)sop的過(guò)程是由文本來(lái)控制。
基礎(chǔ)信息如下:
- 使用 文心一言 3.5的模型,未微調(diào)
- 做了邏輯處理的Agent框架
- 單條回復(fù)的消耗不到2K token。
一、為什么需要RAG+Agent的組合
當(dāng)前Rag問(wèn)答通常會(huì)存在較大的幻覺(jué),模型容易基于自身知識(shí)進(jìn)行胡編亂造。通常企業(yè)期望只基于知識(shí)庫(kù)內(nèi)容進(jìn)行解答,不亂發(fā)散。而我們發(fā)現(xiàn)Agent有很好的觀察、思考的機(jī)制。能有效的控制模型的發(fā)散問(wèn)題
所以我們團(tuán)隊(duì)將兩者進(jìn)行融合來(lái)進(jìn)行知識(shí)庫(kù)的問(wèn)答,發(fā)現(xiàn)能很好的控制模型發(fā)散和幻覺(jué),只用知識(shí)庫(kù)檢索的片段來(lái)回答。
RAG+Agent的優(yōu)勢(shì):
- 借助Agent觀察與思考,來(lái)理解檢索到的知識(shí)片段。
- 讓Agent(Re-Act)的要解決的問(wèn)題、目標(biāo),進(jìn)行針對(duì)性選擇和解答。
符合客戶(hù)訴求:對(duì)于to B的客服場(chǎng)景問(wèn)答而言,提供準(zhǔn)確可靠的信息是非常重要的。而Agent+Rag的組合能夠很好的讓模型,圍繞知識(shí)庫(kù)中與用戶(hù)提問(wèn)相關(guān)的片段來(lái)回答。解決掉模型幻覺(jué)嚴(yán)重,過(guò)于發(fā)散,回答牛頭不對(duì)馬嘴的問(wèn)題。
二、先來(lái)分別看下Rag和Agent的基本處理邏輯
Rag流程
常見(jiàn)rag問(wèn)答
流程:
- 問(wèn)題向量化,檢索相似片段
- 將“提示詞+用戶(hù)提問(wèn)+check片段 ”打包發(fā)給大模型
- 模型進(jìn)行解答
問(wèn)題:當(dāng)check是用于補(bǔ)充模型的知識(shí),當(dāng)片段與問(wèn)題不相關(guān)或不足以解釋問(wèn)題時(shí)。模型容易基于自己的理解進(jìn)行解答,從而胡編亂造。
Agent(Re-act)流程:
re-act agent處理邏輯
流程:
- 用戶(hù):輸入問(wèn)題
- 觀察:用戶(hù)輸入,工具數(shù)據(jù)的返回
- 思考:內(nèi)容與問(wèn)題、目標(biāo)、流程的相關(guān)性
- 行動(dòng):回答用戶(hù)問(wèn)題 / 調(diào)用工具補(bǔ)充信息
優(yōu)勢(shì):在Re-act模式下。Agent在解答問(wèn)題時(shí),會(huì)觀察用戶(hù)的提問(wèn)、工具的返回,思考與用戶(hù)提問(wèn)的相關(guān)性,通過(guò)提示詞約束后,可以始終圍繞著目標(biāo)、要求來(lái)展開(kāi)。
那當(dāng)用戶(hù)提問(wèn)時(shí),借助Agent調(diào)用知識(shí)庫(kù)獲取片段問(wèn)題的片段,再讓Agent來(lái)回答用戶(hù)的問(wèn)題
三、融合Agent和Rag融合的方案&流程
OK,現(xiàn)在我們將兩個(gè)流程融合在一起。
- 讓Agent來(lái)處理用戶(hù)的提問(wèn),調(diào)用rag的能力,獲取chack片段進(jìn)行觀察思考。
- 同時(shí)圍繞用戶(hù)的提問(wèn)來(lái)進(jìn)行解答
- 效果:從而規(guī)避掉check中不相關(guān)的問(wèn)題和有干擾的內(nèi)容,防止模型強(qiáng)行對(duì)check內(nèi)容與用戶(hù)提問(wèn)進(jìn)行關(guān)聯(lián)
融合后的流程下:
Agent+Rag
處理流程示例:
用戶(hù)提問(wèn)
1)Agent:第一輪處理理解用戶(hù)提問(wèn)
- Agent觀察:用戶(hù)提問(wèn)
- Agent思考:理解問(wèn)題與提示詞(目標(biāo)、任務(wù)流程等)關(guān)系
- Agent行動(dòng):反寫(xiě)用戶(hù)提問(wèn)。調(diào)用知識(shí)庫(kù)工具
2)Rag:處理(處理部分)
- 問(wèn)題的向量化
- 向量數(shù)據(jù)庫(kù)的檢索;
- 返回檢索check
3)Agent:第二輪處理,處理知識(shí)庫(kù)片段內(nèi)容
- Agent觀察:知識(shí)庫(kù)返回的知識(shí)片段
- Agent思考:理解知識(shí)庫(kù)片段與用戶(hù)問(wèn)題、提示詞(目標(biāo)、任務(wù)流程等)的關(guān)聯(lián)性與問(wèn)題
- Agent行動(dòng):回復(fù)
四、看下實(shí)際處理的結(jié)果
進(jìn)行兩個(gè)提問(wèn):以某充電樁基于產(chǎn)品手冊(cè)用戶(hù)問(wèn)答為例如
- 問(wèn)題1:“如何充電”,知識(shí)庫(kù)有對(duì)應(yīng)的答案片段 + 干擾片段
- 問(wèn)題2:“充電政策是什么”,知識(shí)庫(kù)中沒(méi)有對(duì)應(yīng)的答案片段,會(huì)返回不相關(guān)內(nèi)容
問(wèn)題處理的回復(fù)效果如下:
五、處理流程分析
1. 分析用戶(hù)提問(wèn):如何充電。知識(shí)庫(kù)返回對(duì)應(yīng)的答案片段 + 干擾片段
第一輪agent處理過(guò)程:
1)觀察:如何充電
2)思考:用戶(hù)想要了解如何充電,這是一個(gè)關(guān)于產(chǎn)品使用的基本問(wèn)題。
3)行動(dòng):
- 動(dòng)作:調(diào)用知識(shí)庫(kù)
- 擴(kuò)寫(xiě)問(wèn)題、補(bǔ)充關(guān)鍵信息:”充電樁如何充電”
知識(shí)庫(kù)處理
1)問(wèn)題向量化:充電樁如何充電
2)檢索:檢索產(chǎn)品手冊(cè)向量庫(kù)
3)獲取片段:
- 片段1:# 分布式2路充電樁說(shuō)明書(shū)。重要:充電樁安裝位置需要符合消防要求;設(shè)備需要定期巡檢。充電樁需同步安裝漏電保護(hù)裝置(建議20A);電動(dòng)車(chē)充電樁使用指南1XXXXXX;
- 片段2:# 免費(fèi)充電時(shí)長(zhǎng)設(shè)置 適應(yīng)場(chǎng)景:所有場(chǎng)所,按鍵直充場(chǎng)景, 1.進(jìn)入方法:通過(guò)菜單鍵設(shè)置進(jìn)入,具體設(shè)置方法見(jiàn)電子版說(shuō)明書(shū)–>按鍵部分;
- 片段3:# 充到飽套餐使用 注:部分設(shè)備有此功能 使用方法: 用微信或支付寶掃一掃設(shè)備二維碼,選擇【端口】–>【充滿(mǎn)自停】–>【開(kāi)啟充電】使用規(guī)則: 此功能先扣費(fèi),充電結(jié)束后自動(dòng)退回多余金額.
第二輪Agent思考處理:
1)觀察
2)用戶(hù)問(wèn)題:充電樁如何充電
3)參考片段:
- 片段1:# 分布式2路充電樁說(shuō)明書(shū)。重要:充電樁安裝位置需要符合消防要求;設(shè)備需要定期巡檢。充電樁需同步安裝漏電保護(hù)裝置(建議20A);電動(dòng)車(chē)充電樁使用指南XXXXXX;
- 片段2:# 免費(fèi)充電時(shí)長(zhǎng)設(shè)置 適應(yīng)場(chǎng)景:所有場(chǎng)所,按鍵直充場(chǎng)景, 1.進(jìn)入方法:通過(guò)菜單鍵設(shè)置進(jìn)入,具體設(shè)置方法見(jiàn)電子版說(shuō)明書(shū)–>按鍵部分;
- 片段3:# 充到飽套餐使用 注:部分設(shè)備有此功能 使用方法: 用微信或支付寶掃一掃設(shè)備二維碼,選擇【端口】–>【充滿(mǎn)自停】–>【開(kāi)啟充電】使用規(guī)則: 此功能先扣費(fèi),充電結(jié)束后自動(dòng)退回多余金額.
4)思考:根據(jù)知識(shí)庫(kù)的內(nèi)容,以及用戶(hù)問(wèn)題,充電的步驟是需要將充電插頭接入空閑插座,連接好插座后,選擇以下兩種方式之一啟動(dòng)充電。掃碼充電:XXXXXX
5)行動(dòng):最終回復(fù):根據(jù)您的提問(wèn),以下是關(guān)于如何充電的詳細(xì)步驟:
- 將充電插頭接入空閑插座,連接好插座后,選擇以下兩種方式之一啟動(dòng)充電。
- 掃碼充電:連接好充電器后,用手機(jī)微信或支付寶掃一掃設(shè)備二維碼。第一步選擇剛才的插座端口,第二步選擇相應(yīng)的金額,第三步點(diǎn)擊“開(kāi)始充電”啟動(dòng)充電。
- 刷卡充電:連接好充電器后,用已授權(quán)且有余額的電卡,緊貼設(shè)備相應(yīng)端口的刷卡區(qū)(距離小于5cm),聽(tīng)到“刷卡成功”時(shí),插座端口自動(dòng)啟動(dòng)充電。
- 結(jié)束充電時(shí),設(shè)備會(huì)通過(guò)微信或支付寶推送給付款人,并提示具體的充電結(jié)束扣費(fèi)金額,充電時(shí)間,停止原因等信息。
2. 用戶(hù)提問(wèn):充電政策,知識(shí)庫(kù)沒(méi)有對(duì)應(yīng)的答案
檢索出來(lái)的知識(shí)片段如下:
- 片段1:「1.5.高級(jí)設(shè)置1)通過(guò)設(shè)備詳情頁(yè),可以進(jìn)入高級(jí)設(shè)置,進(jìn)行充電樁的一些參數(shù)設(shè)置高配版智能10路充電樁說(shuō)明書(shū)重要:安裝位置需要符合消防要求,嚴(yán)禁安裝在公共門(mén)廳、疏散走道、樓梯間、安全出口,煙霧不得阻擋逃生通道。充電樁需同步安裝漏電保護(hù)裝置(建議20A);露天安裝時(shí)插座和機(jī)箱需要防雨、防水; 設(shè)備需要定期巡檢?!?/li>
- 片段2:最后一個(gè)“1500”是終止充電功率,當(dāng)充電功率大于此值時(shí),設(shè)備會(huì)因?yàn)樨?fù)載過(guò)大而停止充電。 示例電量計(jì)費(fèi)設(shè)置: 設(shè)置1度電的計(jì)費(fèi)基準(zhǔn),最小0.1元,最大9.99元。
- 片段3:6、免費(fèi)充電設(shè)置按設(shè)置鍵切換到對(duì)應(yīng)的功能,此時(shí)語(yǔ)音播報(bào)“免費(fèi)充電設(shè)置”,顯示界面顯示“-P6-”。 按數(shù)字鍵0或者1(0:正常模式;1:免費(fèi)充電模式),再按確鍵。 執(zhí)行成功顯示“SUCC”,執(zhí)行失敗顯示“FAIL”。 比如輸入:1+確認(rèn)鍵,則打開(kāi)免費(fèi)充電功能。0+確認(rèn)鍵,則關(guān)閉免費(fèi)充電功能,切換到正常充電模式。
而Agent第二輪的思考過(guò)程
1)觀察
2)用戶(hù)問(wèn)題:充電樁的充電政策
3)參考片段:
- 片段1:「1.5.高級(jí)設(shè)置1)通過(guò)設(shè)備詳情頁(yè),可以進(jìn)入高級(jí)設(shè)置,進(jìn)行充電樁的一些參數(shù)設(shè)置高配版智能10路充電樁說(shuō)明書(shū)重要:安裝位置需要符合消防要求,嚴(yán)禁安裝在公共門(mén)廳、疏散走道、樓梯間、安全出口,煙霧不得阻擋逃生通道。充電樁需同步安裝漏電保護(hù)裝置(建議20A);露天安裝時(shí)插座和機(jī)箱需要防雨、防水; 設(shè)備需要定期巡檢?!?/li>
- 片段2:最后一個(gè)“1500”是終止充電功率,當(dāng)充電功率大于此值時(shí),設(shè)備會(huì)因?yàn)樨?fù)載過(guò)大而停止充電。 示例電量計(jì)費(fèi)設(shè)置: 設(shè)置1度電的計(jì)費(fèi)基準(zhǔn),最小0.1元,最大9.99元。
- 片段3:6、免費(fèi)充電設(shè)置 按設(shè)置鍵切換到對(duì)應(yīng)的功能,此時(shí)語(yǔ)音播報(bào)“免費(fèi)充電設(shè)置”,顯示界面顯示“-P6-”。 按數(shù)字鍵0或者1(0:正常模式;1:免費(fèi)充電模式),再按確鍵。 執(zhí)行成功顯示“SUCC”,執(zhí)行失敗顯示“FAIL”。 比如輸入:1+確認(rèn)鍵,則打開(kāi)免費(fèi)充電功能。0+確認(rèn)鍵,則關(guān)閉免費(fèi)充電功能,切換到正常充電模式。
4)思考:根據(jù)知識(shí)庫(kù)的返回,并沒(méi)有直接回答用戶(hù)關(guān)于“充電政策”的具體內(nèi)容。
5)行動(dòng):最終回復(fù):非常抱歉,關(guān)于充電政策的具體內(nèi)容,我們的知識(shí)庫(kù)中并沒(méi)有直接的信息。但我可以告訴您,我們的充電樁安裝位置需要符合消防要求,嚴(yán)禁安裝在公共門(mén)廳、疏散走道、樓梯間、安全出口,并且需要同步安裝漏電保護(hù)裝置。如果您需要更詳細(xì)的信息,建議您查閱我們的產(chǎn)品手冊(cè)或聯(lián)系我們的客服部門(mén)
五、結(jié)論
綜上所述,我們可以看到,在Agent與rag結(jié)合后,借助Agent能給rag帶來(lái)好處
1)用戶(hù)問(wèn)題的擴(kuò)寫(xiě),補(bǔ)充用戶(hù)問(wèn)題中缺失的部分;
- 例1:用戶(hù)詢(xún)問(wèn)如何充電時(shí),Agent會(huì)補(bǔ)充用戶(hù)提問(wèn)中缺失的部分,讓問(wèn)題更完整;
2)通過(guò)Agent觀察、思考機(jī)制,識(shí)別檢索結(jié)果中與問(wèn)題相關(guān)的部分,進(jìn)行針對(duì)性選擇內(nèi)容來(lái)進(jìn)行解答。不相關(guān)的內(nèi)容不會(huì)強(qiáng)行關(guān)聯(lián)。核心關(guān)注與問(wèn)題的相關(guān)性。
3)模型本身的知識(shí),可以根據(jù)選擇來(lái)使用。示例中,提示詞要求模型只能基于知識(shí)庫(kù)回復(fù)進(jìn)行解答。限制了模型本身自己的知識(shí)的發(fā)揮。
對(duì)于to B的客服場(chǎng)景問(wèn)答而言,提供準(zhǔn)確可靠的信息是非常重要的。
- Agent+Rag的組合能夠很好的讓模型,圍繞知識(shí)庫(kù)中與用戶(hù)提問(wèn)相關(guān)的片段來(lái)回答。
- 從而解決掉模型幻覺(jué)嚴(yán)重,過(guò)于發(fā)散,回答牛頭不對(duì)馬嘴的問(wèn)題。
本文由 @易俊源 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自 Unsplash,基于 CC0 協(xié)議
該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。
- 目前還沒(méi)評(píng)論,等你發(fā)揮!