隨著GPT-3.5在2月底的發(fā)布,標(biāo)志著智能化時(shí)代的來臨。這個(gè)時(shí)代為企業(yè)帶來了前所未有的機(jī)遇和挑戰(zhàn)。信息系統(tǒng)團(tuán)隊(duì)開始研究如何充分利用這一大型AI模型,以解決內(nèi)部問題并提高工作效率。與此同時(shí),行政部門也高度關(guān)注了GPT的潛力。他們與我們一同探討,是否可以建立一個(gè)系統(tǒng)級(jí)的客服平臺(tái),以應(yīng)對(duì)日常工作中繁瑣且重復(fù)的溝通問題。
在過程中我們留意到,數(shù)據(jù)應(yīng)用團(tuán)隊(duì)已經(jīng)建立了私域知識(shí)庫平臺(tái),該平臺(tái)具備對(duì)接大型模型、文本向量轉(zhuǎn)換以及召回等功能。因此,通過和數(shù)據(jù)應(yīng)用團(tuán)隊(duì)的深入討論,我們認(rèn)為可以采用私域知識(shí)庫的方式來實(shí)現(xiàn)基于之家采購業(yè)務(wù)的客服系統(tǒng)。后期可以快速升級(jí)為提供標(biāo)準(zhǔn)服務(wù)客服并允許用戶根據(jù)業(yè)務(wù)需求定制自己的語料庫的AI 應(yīng)用平臺(tái)。
經(jīng)過研發(fā)團(tuán)隊(duì)的探討,系統(tǒng)落地的整體時(shí)序圖如下:
圖片
整個(gè)落地的過程分兩條線并行,產(chǎn)品線主導(dǎo)私域知識(shí)庫的建立和問答效果的調(diào)優(yōu),技術(shù)線則重點(diǎn)放在大模型中臺(tái)的開發(fā)上,下面分別闡述兩條線的推進(jìn)情況:
我們?nèi)粘S玫降拇竽P停鏕PT系列、文心一言、訊飛星火等等,設(shè)計(jì)出來是為了理解和生成自然語言。這種模型的非凡之處在于,它通過分析和學(xué)習(xí)海量的文本信息,生成新的、與輸入相關(guān)的文字。這種自動(dòng)文字生成的能力使得GPT模型在解析復(fù)雜問題、自動(dòng)生成報(bào)告、優(yōu)化客戶服務(wù)等方面表現(xiàn)出色,但是針對(duì)企業(yè)內(nèi)部應(yīng)用場(chǎng)景,企業(yè)特有的流程、制度等知識(shí)無法灌輸給大模型進(jìn)行針對(duì)性訓(xùn)練,即便是自研或者私有化部署的大模型,我們企業(yè)知識(shí)庫的文本量級(jí)和大模型本身訓(xùn)練的數(shù)據(jù)量級(jí)相比,占比微乎其微,無法直接通過訓(xùn)練來影響大模型的回答效果。
而私域知識(shí)庫則是為了解決上述問題,應(yīng)運(yùn)而生的。私域知識(shí)庫的基本原理是,將企業(yè)內(nèi)部問答語料、制度、專業(yè)文檔等信息進(jìn)行Embedding向量化,存儲(chǔ)在本地的數(shù)據(jù)庫中,當(dāng)用戶提問時(shí),通過Embedding模型將用戶的問題也進(jìn)行向量轉(zhuǎn)化,再通過計(jì)算知識(shí)庫中的向量和問題轉(zhuǎn)化的向量之間的夾角(通常使用cosin函數(shù)),來獲得兩者的余弦相似度,通過召回策略配置,將前N個(gè)相似度大于P的結(jié)果,作為本次問答的語料,再加上該場(chǎng)景下本身的角色設(shè)定(提示詞),組合成一個(gè)完整的prompt內(nèi)容,推送給大模型進(jìn)行總結(jié)回答。
結(jié)合大模型和私域知識(shí)庫,企業(yè)可以創(chuàng)建一個(gè)專業(yè)領(lǐng)域的AI助手,該助手可以回答關(guān)于公司業(yè)務(wù)的各種問題,或者根據(jù)員工的需求生成報(bào)告。這樣的一種方式不僅可以提高企業(yè)的工作效率,還可以幫助員工更好地理解和利用企業(yè)的資源。
那么,準(zhǔn)備知識(shí)庫語料時(shí)我們應(yīng)該注意哪些問題呢?根據(jù)筆者現(xiàn)有項(xiàng)目的經(jīng)驗(yàn)看,Embedding模型本身有以下特點(diǎn):
圖片
當(dāng)我問“年假”,會(huì)出現(xiàn)和年假無關(guān)的語料,且相似度都在0.7以上
針對(duì)上述問題和特點(diǎn),我們準(zhǔn)備語料庫數(shù)據(jù)時(shí),可以從以下幾個(gè)方向去優(yōu)化:
文本分割示例圖
當(dāng)我們準(zhǔn)備好私域知識(shí)庫后,就可以開始我們的訓(xùn)練調(diào)優(yōu)步驟了,針對(duì)當(dāng)前應(yīng)用的業(yè)務(wù)場(chǎng)景,要給大模型一個(gè)基本的角色設(shè)定(有的地方也叫提示詞)、參數(shù)設(shè)置、私域知識(shí)語料、歷史聊天內(nèi)容等等信息,這些組合到一起構(gòu)成一個(gè)完整的prompt內(nèi)容。
角色設(shè)定是指在模型生成輸出之前,向模型提供一段特定的文本提示或引導(dǎo)信息,以幫助模型更好地理解輸入數(shù)據(jù)并生成期望的輸出。角色設(shè)定可以根據(jù)具體的任務(wù)和數(shù)據(jù)集進(jìn)行定制化,以提高模型的性能和準(zhǔn)確性。
Prompt可以包括以下內(nèi)容:
設(shè)置基本角色信息,并提出要求,例如不能干什么,或者必須干什么;
提示詞設(shè)定示例
開展針對(duì)私域數(shù)據(jù)庫的訓(xùn)練,應(yīng)遵循以下幾個(gè)步驟:
1)召回是否準(zhǔn)確:理想的知識(shí)庫語料是不是被準(zhǔn)確召回了,這里需要注意的是我們?cè)O(shè)置的召回?cái)?shù)量和最低召回分?jǐn)?shù),如果目標(biāo)語料排名比較靠后導(dǎo)致沒有召回,則應(yīng)調(diào)整語料中用詞,盡量提高其相似度,或者將排名靠前的語料進(jìn)行調(diào)整降低其相似度;如果是相似度分?jǐn)?shù)較低導(dǎo)致沒有召回,則需要優(yōu)化語料中用詞,提高相似度分?jǐn)?shù);
2)召回準(zhǔn)確,但是大模型沒有很好的理解并回答:在角色設(shè)定內(nèi)更清晰的描述需求,或者給一些相關(guān)的知識(shí)點(diǎn)、示例數(shù)據(jù)等,大模型更善于模仿而不是創(chuàng)造;
3)大模型自由發(fā)揮,說了不該說的話:在角色設(shè)定中強(qiáng)調(diào)要求,并給出應(yīng)該怎么回答的示例;降低GPT溫度參數(shù),減少其自由發(fā)揮的程度;
4、經(jīng)過優(yōu)化后,再重復(fù)提問之前的badcase,驗(yàn)證效果直到符合預(yù)期;
召回策略設(shè)置示例
我們使用大模型的過程中,發(fā)現(xiàn)無論是提前訓(xùn)練的語料還是私域知識(shí)庫,都是基于歷史數(shù)據(jù)產(chǎn)生的靜態(tài)信息,我們無法讓大模型回答一些實(shí)時(shí)性比較強(qiáng)的問題,比如今天天氣怎么樣?我的報(bào)銷單據(jù)審批到誰了?等等。有需求就會(huì)有解決方案,目前市面上的主流大模型均已支持插件模式。
所謂插件模式,就是針對(duì)某個(gè)場(chǎng)景研發(fā)一個(gè)系統(tǒng)接口,當(dāng)用戶問到相關(guān)問題時(shí),由大模型(為了更容易理解,咱們可以把他當(dāng)做一個(gè)人)來判斷是否調(diào)用某個(gè)接口,插件內(nèi)也要做設(shè)定、描述等設(shè)置,來要求大模型將自然語音轉(zhuǎn)化為接口可識(shí)別的json等格式,并將接口返回的各個(gè)參數(shù)拼接成自然語言,再通過prompt給到大模型(這里的大模型我們可以把他當(dāng)做第二個(gè)人,和之前調(diào)用插件的是完全不同的設(shè)定)進(jìn)行總結(jié)回答。
插件角色設(shè)定示例
通過插件模式,我們可以解決更多場(chǎng)景的問題,其中最最有效的插件,就是對(duì)接搜索引擎,將實(shí)時(shí)搜索到的信息,經(jīng)過大模型總結(jié)成更實(shí)用的知識(shí)點(diǎn)。之前百度文心一言的發(fā)布會(huì)上,就有很好的應(yīng)用場(chǎng)景,例如讓大模型幫你制定一份出行攻略,他會(huì)先去搜索網(wǎng)上的攻略,然后根據(jù)你的要求、交通工具、時(shí)間等進(jìn)行總結(jié)歸納,形成你個(gè)人定制化的出行計(jì)劃,非常實(shí)用。而在企業(yè)內(nèi)部應(yīng)用,我們更多是用到查詢內(nèi)部系統(tǒng)單據(jù)信息、系統(tǒng)流程打通(例如創(chuàng)建日程、報(bào)銷單、請(qǐng)休假申請(qǐng)等等)。
除了插件模式外,我們還可以反向應(yīng)用大模型技術(shù),把大模型的使用內(nèi)嵌到我們業(yè)務(wù)系統(tǒng)中,例如招聘場(chǎng)景下,當(dāng)招聘官打開簡(jiǎn)歷的時(shí)候,系統(tǒng)調(diào)用大模型接口自動(dòng)分析簡(jiǎn)歷與JD的匹配程度,給出分析,并給出一些面試建議等。這類應(yīng)用場(chǎng)景可以不改變?cè)袠I(yè)務(wù)流程習(xí)慣,增強(qiáng)補(bǔ)齊原業(yè)務(wù)中缺失的智能分析能力。
當(dāng)然,盡管我們想盡辦法去優(yōu)化我們的知識(shí)庫和prompt,還是會(huì)出現(xiàn)很多意外情況,例如我們?cè)?jīng)不想讓小助手講笑話,設(shè)定里寫了你是采購小助手,只能回答和采購相關(guān)的問題,當(dāng)我們問他可不可以給我講個(gè)笑話時(shí),大模型回答的是:我是采購小助手,不能給你講笑話,但是我可以給你講個(gè)采購員的笑話。我們?cè)诤痛竽P汀岸分嵌酚隆钡倪^程中,相互成長。
在項(xiàng)目建設(shè)過程中,我們認(rèn)識(shí)到盡管私域知識(shí)庫提供了出色的對(duì)接機(jī)制和文檔,但在實(shí)際業(yè)務(wù)對(duì)接中,仍需要投入大量開發(fā)資源,并且在新業(yè)務(wù)線接入時(shí),面臨著高昂的開發(fā)成本和重復(fù)的溝通,學(xué)習(xí)成本。因此,我們的開發(fā)團(tuán)隊(duì)經(jīng)過深入討論,提出了一個(gè)構(gòu)想,即建立一個(gè)全新的業(yè)務(wù)對(duì)接模式,將通用功能進(jìn)行封裝,形成平臺(tái)化。這將使公司內(nèi)部新業(yè)務(wù)的接入成本幾乎可以降至零,甚至完全零開發(fā)成本。這一舉措將有助于加速智能AI在業(yè)務(wù)層面的應(yīng)用推廣。在與數(shù)據(jù)應(yīng)用團(tuán)隊(duì)和云平臺(tái)團(tuán)隊(duì)的深入研討后,我們提出了建立之家大模型中臺(tái)的構(gòu)想,其主要組成部分如下:
各團(tuán)隊(duì)之間的協(xié)作將有助于減少重復(fù)開發(fā)工作,降低對(duì)接和熟悉成本,提高業(yè)務(wù)對(duì)接的效率。整體而言,這個(gè)構(gòu)想有望加速智能AI應(yīng)用在業(yè)務(wù)層面的推廣,并為未來的業(yè)務(wù)擴(kuò)展提供了靈活性和可擴(kuò)展性。
系統(tǒng)構(gòu)想的整體架構(gòu)如下:
圖片
本次主要介紹平臺(tái)層的設(shè)計(jì)和成果,在平臺(tái)層的設(shè)計(jì)中,主要關(guān)注以下四點(diǎn):
為了實(shí)現(xiàn)這一目標(biāo),我們提供了兩種接入方案,以滿足不同需求:
這是一種簡(jiǎn)化業(yè)務(wù)接入流程的解決方案。當(dāng)業(yè)務(wù)系統(tǒng)沒有特殊需求時(shí),只需引入適當(dāng)?shù)哪_本并進(jìn)行配置即可。這種方法要適用于各種前端技術(shù)棧,因此我們要求在開發(fā)的過程中使用原生JavaScript以確保兼容性。在這個(gè)腳本中要提供一個(gè)可定制的懸浮聊天助手按鈕,用戶可以輕松點(diǎn)擊按鈕以展示聊天助手容器,并可以自由拖動(dòng)按鈕以改變其位置。聊天助手容器通過內(nèi)嵌的iframe加載特定的URL,從而呈現(xiàn)聊天助手的內(nèi)容。
為此關(guān)鍵實(shí)現(xiàn)如下:
創(chuàng)建內(nèi)嵌聊天助手容器
創(chuàng)建內(nèi)嵌聊天助手的iframe,并設(shè)置其樣式和源URL。
圖片
圖片
將聊天助手容器和按鈕添加到頁面中。
為懸浮按鈕添加點(diǎn)擊事件,以在點(diǎn)擊時(shí)顯示聊天助手容器。
為懸浮按鈕添加拖拽事件,以允許用戶拖動(dòng)按鈕的位置。
業(yè)務(wù)系統(tǒng)接入代碼
可以看到,各業(yè)務(wù)系統(tǒng)如果使用通用的前端接入,只需要引入腳本,給予業(yè)務(wù)線ID 即可輕松接入使用,幾乎0幾乎成本。
圖片
考慮到不同業(yè)務(wù)場(chǎng)景的特殊要求,對(duì)于前端需要定制化開發(fā)的特殊情況,我們直接提供了后端API接入方式,以滿足特殊需求,為此,業(yè)務(wù)平臺(tái)提供了3大類,11個(gè)小類的功能接口來滿足業(yè)務(wù)需要,涵蓋會(huì)話服務(wù),聊天輔助,后臺(tái)管理數(shù)據(jù)對(duì)接等功能。
圖片
一個(gè)前端通過webSocket對(duì)接后端會(huì)話服務(wù)的示例:
前端會(huì)話發(fā)起,直接使用用WebSocket 接入后端服務(wù),其中businessLineId 代表業(yè)務(wù)線,encryptedData 代表加密過的票據(jù)信息(這個(gè)的用途會(huì)在后面講到)
圖片
為確保系統(tǒng)的安全性,我們引入了以下措施:
確保只有經(jīng)授權(quán)的用戶能夠訪問系統(tǒng)資源。為此,我們考慮到未來對(duì)接平臺(tái)的業(yè)務(wù)系統(tǒng)會(huì)有兩種:
第一,公司內(nèi)網(wǎng)的辦公系統(tǒng)接入,這些系統(tǒng)共性是統(tǒng)一接入了sso 登錄平臺(tái),因此考慮到接入的便利性,我們不需要業(yè)務(wù)系統(tǒng)給我們傳遞加密憑證,而是直接對(duì)接sso 平臺(tái)獲取身份信息,再把票據(jù)寫入到cookie 確保鏈接的合法性,關(guān)鍵實(shí)現(xiàn)如下:
01、直接對(duì)接sso 平臺(tái)獲取當(dāng)前用戶信息
圖片
02、轉(zhuǎn)成加密票據(jù)寫入cookie,以確保每次請(qǐng)求的合法性驗(yàn)證
為了簡(jiǎn)化前端系統(tǒng)的對(duì)接工作,所以采用了cookie票據(jù)認(rèn)證的方案,即每次請(qǐng)求時(shí)在后端解析cookie 票據(jù)以驗(yàn)證合法性,但是這樣做也帶來一個(gè)問題,即要求接入業(yè)務(wù)系統(tǒng)的根域名和iframe 嵌入中臺(tái)助手的根域名必須一致,否則會(huì)有跨域讀寫cookie 的問題 ,但這無形中又會(huì)增加前端業(yè)務(wù)系統(tǒng)的對(duì)接成本,所以我們直接提供了兩個(gè)引入腳本路徑,根域名分別為corpautohome.com 和 autohome.com.cn 路徑,各業(yè)務(wù)系統(tǒng)直接根據(jù)自己域名引入不同路徑腳本即可,全部的適配工作都由平臺(tái)端完成,無需業(yè)務(wù)系統(tǒng)考慮。
圖片
提供兩種域名路徑的引入文件:
圖片
在組件渲染時(shí),注入不同的請(qǐng)求路徑:
圖片
后端處理,分別寫入不同域下的cookie:
圖片
第二,外網(wǎng)系統(tǒng)或并未對(duì)接sso平臺(tái)的系統(tǒng),則需外圍系統(tǒng)按照約定的加密標(biāo)準(zhǔn)開發(fā)一個(gè)加密認(rèn)證的接口,初始化時(shí)給予加密憑證,平臺(tái)拿到加密憑證后再驗(yàn)證合法性,驗(yàn)證通過后創(chuàng)建加密票據(jù)到cookie中,確保該鏈接的合法性
01、前端業(yè)務(wù)系統(tǒng)加密對(duì)接實(shí)例:
業(yè)務(wù)系統(tǒng)后端:業(yè)務(wù)系統(tǒng)拿到約定的業(yè)務(wù)線id 和秘鑰后,開發(fā)密文生成程序。
圖片
業(yè)務(wù)系統(tǒng)前端:引入腳本后,頁面初始化對(duì)接參數(shù):
圖片
平臺(tái)端:根據(jù)注入密文去驗(yàn)證合法性,如果合法,則執(zhí)行和第一種接入方式相同的方法生成加密票據(jù)寫入cookie:
圖片
由于平臺(tái)對(duì)外提供的是一個(gè)對(duì)話服務(wù),為了防止客戶端強(qiáng)刷或者其它的潛在風(fēng)險(xiǎn),所以平臺(tái)提供了一個(gè)設(shè)置ip黑名單的功能,可以通過訪問日志查看相關(guān)的風(fēng)險(xiǎn)信息,當(dāng)判斷有風(fēng)險(xiǎn)時(shí),可以即可把ip 地址加入黑名單,以阻止其訪問。
平臺(tái)提供查看系統(tǒng)日志及加入黑名單的界面:
圖片
在用戶建立通信鏈接時(shí)驗(yàn)證其IP是否在黑名單內(nèi),如果是則拒絕建立鏈接:
圖片
圖片
圖片
為提高系統(tǒng)的可控性和穩(wěn)定性我們本次采用websocket方式實(shí)現(xiàn)前后端通信,并且基于redis 來對(duì)實(shí)現(xiàn)在線用戶的控制,包括建立鏈接,中斷,強(qiáng)制下線控制等。
不廢話,上實(shí)現(xiàn)過程代碼:
圖片
圖片
圖片
圖片
圖片
圖片
圖片
圖片
后臺(tái)直接從redis 中移除在線用戶實(shí)例,前端webSocket 通信時(shí),則前端再次發(fā)起會(huì)話中,到當(dāng)前用于已經(jīng)不在redis中,則中斷會(huì)話,代碼參考上面試的用戶下線功能。
考慮到各個(gè)業(yè)務(wù)線的不同的需求,我們提供了豐富的配置功能和統(tǒng)一的數(shù)據(jù)監(jiān)控,管理功能。
包括圖標(biāo)配置,歡迎語配置,顯示配置:提供圖標(biāo)、歡迎語和顯示方式的個(gè)性化配置選項(xiàng),以滿足不同業(yè)務(wù)的需求和品牌標(biāo)識(shí)。
圖片
圖片
以實(shí)現(xiàn)同一業(yè)務(wù)線下不同功能的切換和統(tǒng)一展示。
圖片
引入實(shí)時(shí)統(tǒng)計(jì)功能,幫助業(yè)務(wù)方監(jiān)控和優(yōu)化系統(tǒng)性能,提供決策支持。
圖片
圖片
這些綜合性措施旨在為業(yè)務(wù)接入平臺(tái)的建設(shè)提供全面的支持,從而使系統(tǒng)更具可用性、安全性和靈活性,助力業(yè)務(wù)快速推進(jìn)。同時(shí),這些功能的引入將使平臺(tái)在滿足通用需求的同時(shí),能夠滿足個(gè)性化的業(yè)務(wù)配置。
應(yīng)用對(duì)接:基于大模型中臺(tái),我們已經(jīng)快速建立了APP 和PC 兩端組件,業(yè)務(wù)上支持了 好采小助手,員工助手,倉頡大模型應(yīng)用,供應(yīng)商門戶等業(yè)務(wù)的智能化應(yīng)用。
圖片
圖片
圖片
在未來,隨著人工智能技術(shù)的不斷發(fā)展,私域知識(shí)庫和大模型中臺(tái)將成為企業(yè)智能化轉(zhuǎn)型的重要支撐。我們可以在不同業(yè)務(wù)領(lǐng)域應(yīng)用這些技術(shù),提高業(yè)務(wù)效率、增強(qiáng)智能決策能力,為員工和客戶提供更好的服務(wù)體驗(yàn)。同時(shí),隨著大模型技術(shù)的不斷演進(jìn),我們也可以升級(jí)更多功能,滿足不同業(yè)務(wù)線的特定需求。插件模式的推廣將使大模型變得更加靈活,可以應(yīng)對(duì)更多復(fù)雜的場(chǎng)景和問題。總之,私域知識(shí)庫和大模型中臺(tái)代表了企業(yè)智能化的未來趨勢(shì),它們將為之家?guī)砀鄼C(jī)遇和競(jìng)爭(zhēng)優(yōu)勢(shì),助力業(yè)務(wù)不斷創(chuàng)新和發(fā)展。
作者簡(jiǎn)介
信息系統(tǒng)大模型助手小分隊(duì)
■ 效能平臺(tái)部-信息系統(tǒng)團(tuán)隊(duì)
■ 簡(jiǎn)介
王冠男:高級(jí)系統(tǒng)開發(fā)工程師, 目前主要負(fù)責(zé)行政,財(cái)務(wù)線相關(guān)系統(tǒng)及大模型業(yè)務(wù)中臺(tái)的研發(fā)工作
孫鵬飛:系統(tǒng)開發(fā)工程師,目前主要負(fù)責(zé)招采平臺(tái),匯川平臺(tái),稅務(wù)系統(tǒng)等內(nèi)部系統(tǒng)及大模型中臺(tái)會(huì)話功能的研發(fā)工作
王廷軍:系統(tǒng)開發(fā)工程師,目前主要負(fù)責(zé)HR業(yè)務(wù)線相關(guān)系統(tǒng)和大模型中臺(tái)管理部分的研發(fā)工作
郭鵬松:前端開發(fā)工程師,目前主要負(fù)責(zé)公司協(xié)同辦公,知識(shí)庫文檔,和大模型前端交互部分的研發(fā)工作
徐晨曦:高級(jí)產(chǎn)品經(jīng)理,目前主要負(fù)責(zé)行政業(yè)務(wù)線,汽車人及大模型中臺(tái)的產(chǎn)品規(guī)劃工作
圖片
圖片
本文鏈接:http://www.www897cc.com/showinfo-26-35863-0.html信息系統(tǒng)大模型助手小分隊(duì)-基于好采項(xiàng)目推進(jìn)大模型應(yīng)用在之家的快速落地
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com