平安人壽ChatBI:大模型智能化報(bào)表的深度實(shí)踐
一、項(xiàng)目背景和目標(biāo)
1. 項(xiàng)目背景:大模型賦能智能 BI
我們先來(lái)看一份報(bào)告,2023 年,國(guó)家發(fā)布了《數(shù)字中國(guó)發(fā)展報(bào)告》,報(bào)告顯示我國(guó)的數(shù)字經(jīng)濟(jì)規(guī)模已經(jīng)達(dá)到了 50 多億,位居世界第二。這一成就的取得,離不開像 ChatBI 這樣的創(chuàng)新性產(chǎn)品的貢獻(xiàn)。
我們做 ChatBI 這款產(chǎn)品的原因主要有三個(gè):
- 第一,傳統(tǒng)的 BI 產(chǎn)品在數(shù)據(jù)指標(biāo)、預(yù)測(cè)能力方面遇到了技術(shù)瓶頸,用戶體驗(yàn)也不夠友好;
- 第二,隨著 GPT 的發(fā)展,GPT 技術(shù)在文本和圖像生成上取得了突破性進(jìn)展,為 ChatBI 在企業(yè)中的落地提供了堅(jiān)實(shí)的基礎(chǔ);
- 第三,許多企業(yè)對(duì)數(shù)字化和 BI 的發(fā)展也越來(lái)越重視。
因此,平安人壽也在積極推進(jìn) ChatBI 產(chǎn)品的應(yīng)用,我們主要在解放手、解放腦、開藥方這三個(gè)方面做一些積極的改變。
我們認(rèn)為 ChatBI 能夠在大模型領(lǐng)域落地,主要有四個(gè)方面的原因:
- 一是語(yǔ)言能力,大模型已經(jīng)能夠理解自然語(yǔ)言的語(yǔ)法結(jié)構(gòu)和詞的含義;
- 二是學(xué)習(xí)能力,我們可以通過(guò) RAG 技術(shù)讓大模型快速學(xué)習(xí)特定領(lǐng)域的知識(shí);
- 三是工具調(diào)用,我們可以通過(guò) Agent 編排,可以快速調(diào)用現(xiàn)有工具,并生成代碼;
- 四是邏輯推理,我們可以通過(guò)大模型結(jié)合人工對(duì)數(shù)據(jù)進(jìn)行洞察分析,檢查出異常點(diǎn)和問(wèn)題。
比如我們?cè)趯?shí)踐應(yīng)用中的一個(gè)案例場(chǎng)景,當(dāng)用戶詢問(wèn)業(yè)績(jī)情況時(shí),大模型能夠根據(jù)后臺(tái)計(jì)算提供數(shù)據(jù)結(jié)果。用戶進(jìn)一步詢問(wèn)原因時(shí),大模型則可以基于邏輯推理得出具體原因。
2. 項(xiàng)目目標(biāo):智能 BI 3.0
隨著平安人壽進(jìn)入 BI 3.0 時(shí)代,我們進(jìn)行了用戶調(diào)研,發(fā)現(xiàn)用戶對(duì) BI 3.0 有三大需求:智能化、自動(dòng)化和實(shí)時(shí)化。
- 智能化意味著需要大模型為用戶提供智能的分析建議;
- 自動(dòng)化則是自動(dòng)生成可視化報(bào)表;
- 實(shí)時(shí)化要求秒級(jí)返回底層數(shù)據(jù)庫(kù)的所有數(shù)據(jù)。
我們的目標(biāo)是讓管理者,基層員工,甚至 ToC 的客戶,都能享受到全面的數(shù)字化服務(wù)。
為什么平安人壽能夠快速落地 ChatBI 產(chǎn)品呢,我們主要是基于以下幾點(diǎn)基礎(chǔ):
- 第一,我們擁有完善的數(shù)據(jù)中臺(tái),包含豐富的數(shù)據(jù)域;
- 第二,我們進(jìn)行了長(zhǎng)期的數(shù)據(jù)治理,擁有上萬(wàn)個(gè)規(guī)范的數(shù)據(jù)指標(biāo)供用戶使用;
- 第三,我們擁有豐富的可視化組件可以復(fù)用;
- 第四,我們的服務(wù)平臺(tái)也已經(jīng)實(shí)現(xiàn)了數(shù)據(jù)服務(wù)的 API 化;
- 最后,我們內(nèi)部已經(jīng)具備私有部署大模型和模型調(diào)優(yōu)的能力。
基于這些優(yōu)勢(shì),我們才能快速地成功搭建并落地了 ChatBI 產(chǎn)品。
3. 項(xiàng)目愿景:人人都是數(shù)據(jù)分析師
我們的愿景是為用戶帶來(lái)如下三個(gè)方面的體驗(yàn):
- 第一,通過(guò)零學(xué)習(xí)成本,降低報(bào)表的使用門檻,讓數(shù)據(jù)的使用變得極其簡(jiǎn)單;
- 第二,提供智能的分析建議,使數(shù)據(jù)分析變得智慧化;
- 第三,通過(guò)嵌入方式將 ChatBI 產(chǎn)品整合到多個(gè)內(nèi)部平臺(tái)中,實(shí)現(xiàn)快速查詢數(shù)據(jù),提升用戶體驗(yàn),讓每個(gè)人都能成為數(shù)據(jù)分析師。
二、解決方案
1. 總體架構(gòu)方案
我們的整體解決方案大致分為四層。
- 最底層是數(shù)據(jù)中臺(tái),包含各種數(shù)據(jù)域和指標(biāo)。
- 往上一層是平臺(tái)層,集成了 API 服務(wù)、知識(shí)管理、大模型以及 Cube 和 GS 平臺(tái),以及北斗可視化平臺(tái)。這些平臺(tái)主要覆蓋從用戶提問(wèn)到代碼生成,再到可視化等功能點(diǎn)。
- 在 Agent 這一層,我們分為四類:?jiǎn)枖?shù)、分析、數(shù)據(jù)解讀以及公共能力 Agent。
- 最后是應(yīng)用層,我們實(shí)現(xiàn)了三個(gè)核心功能:What(解放手)、Why(解放腦)和How(開藥方)。
What 指的是用戶可以通過(guò)對(duì)話方式查詢數(shù)據(jù),實(shí)現(xiàn)零代碼和實(shí)時(shí)數(shù)據(jù)獲取,并通過(guò)圖表進(jìn)行可視化生成,數(shù)據(jù)獲取速度從以前的天級(jí)提升到現(xiàn)在的秒級(jí)。
Why 主要指通過(guò)大模型實(shí)現(xiàn)根因分析、數(shù)據(jù)洞察、維度分析等,替代人工進(jìn)行數(shù)據(jù)分析,將數(shù)據(jù)分析流程從原來(lái)的"提需求→分析需求→獲取數(shù)據(jù)→進(jìn)行數(shù)據(jù)分析→制作分析報(bào)告"變成現(xiàn)在的一步到位,通過(guò)自然語(yǔ)言提問(wèn)即可直接生成分析報(bào)告。
How 則是開藥方,通過(guò)大模型的洞察能力和分析能力,提供數(shù)據(jù)建議和措施,讓洞察分析從依賴人工經(jīng)驗(yàn)變成自動(dòng)化智能生成。
2. 業(yè)務(wù)架構(gòu)
我們的產(chǎn)品是直接面向用戶的,因此我們首先梳理了用戶的需求,并將其大致分為三類:產(chǎn)品功能、問(wèn)法和指標(biāo)。
- 在產(chǎn)品功能方面,業(yè)務(wù)用戶不僅需要查詢數(shù)據(jù),還需要了解指標(biāo)口徑、元數(shù)據(jù)等信息,并希望有指標(biāo)推薦、代碼生成、可視化以及通過(guò)多輪對(duì)話提升體驗(yàn)等。
- 在問(wèn)法方面,除了簡(jiǎn)單問(wèn)題,還支持復(fù)雜問(wèn)題的查詢,如同比、環(huán)比、累計(jì)和排序等。
- 在指標(biāo)方面,我們提供全域數(shù)據(jù)指標(biāo),并能支持日頻、月頻和年頻指標(biāo)的查詢能力,最關(guān)鍵的是指標(biāo)權(quán)限管理,確保每個(gè)用戶根據(jù)賬號(hào)確定其指標(biāo)使用范圍,保障數(shù)據(jù)安全。
我們的業(yè)務(wù)流程從用戶提問(wèn)開始,首先通過(guò) BI 大模型的語(yǔ)義理解,多輪對(duì)話和意圖識(shí)別準(zhǔn)確摘取用戶提問(wèn)中的關(guān)鍵信息,如指標(biāo)、時(shí)間和維度。然后,通過(guò) API 和 Doris 快速?gòu)臄?shù)據(jù)庫(kù)中找到所需數(shù)據(jù)。接下來(lái)是對(duì)查詢后的數(shù)據(jù)進(jìn)行可視化組裝,我們支持提供各種可視化模板進(jìn)行圖表組裝。最后是在客戶端呈現(xiàn)數(shù)據(jù)報(bào)告。
3. 技術(shù)架構(gòu)
在技術(shù)架構(gòu)方面,底層包括公共服務(wù)、BI 大模型、數(shù)據(jù)中臺(tái)和知識(shí)庫(kù),這些都是我們的基礎(chǔ)服務(wù)。
在基礎(chǔ)服務(wù)之上有五大部分:
- 第一是前端用戶,我們可以通過(guò)插件的形式插入到不同的平臺(tái),支持用戶訪問(wèn)、提問(wèn)、鑒權(quán)和網(wǎng)關(guān)控制。
- 第二是多輪對(duì)話,多輪對(duì)話部分通過(guò)上下文理解能力捕獲業(yè)務(wù)客戶的意圖,為下一步的任務(wù)編排做準(zhǔn)備。
- 第三是 Agent 編排,其中任務(wù)執(zhí)行是整個(gè)系統(tǒng)的大腦,通過(guò)任務(wù)編排調(diào)用不同的工具和知識(shí)庫(kù)。
- 第四是 AI+BI 工具箱,這是我們開發(fā)過(guò)程中面臨的最大挑戰(zhàn),需要針對(duì)不同場(chǎng)景開發(fā)不同的小模型,比如預(yù)測(cè)預(yù)警、時(shí)間序列預(yù)測(cè)和指標(biāo)分析等,通過(guò)定制化的模型來(lái)適應(yīng)不同的場(chǎng)景。
- 最后是可視化系統(tǒng),我們通過(guò)可視化平臺(tái)和一些可視化布局的插件快速生成可視化圖表。
我們整個(gè)問(wèn)數(shù)的流程,包括意圖識(shí)別、知識(shí)提取、文本生成、數(shù)據(jù)生成等步驟,整個(gè)過(guò)程中會(huì)多次與大模型進(jìn)行交互。
另外知識(shí)庫(kù)是我們的開發(fā)過(guò)程中最重要的工作之一,我們采用了兩種技術(shù):RAG 技術(shù)和外掛知識(shí)庫(kù)。
- RAG 技術(shù)用于提高準(zhǔn)確率,大模型在進(jìn)行語(yǔ)義解析后會(huì)調(diào)用知識(shí)庫(kù)進(jìn)行檢索,然后用這些知識(shí)進(jìn)行文本和數(shù)據(jù)的語(yǔ)義分析和生成,從而大幅提高準(zhǔn)確率。
- 知識(shí)庫(kù)分為常見知識(shí)庫(kù)和進(jìn)階知識(shí)庫(kù),常見知識(shí)庫(kù)包含常見名詞、知識(shí)和 SQL 語(yǔ)法等,而進(jìn)階知識(shí)庫(kù)則是垂直領(lǐng)域內(nèi)的知識(shí),如 BI 知識(shí)庫(kù)的同環(huán)比、累計(jì)等術(shù)語(yǔ),保險(xiǎn)知識(shí)庫(kù)的各種保險(xiǎn)行業(yè)名詞,以及 SQL 知識(shí)庫(kù)的 SQL 編寫規(guī)范。
知識(shí)庫(kù)的維護(hù)需要投入大量的精力,但是知識(shí)庫(kù)的豐富度與語(yǔ)義解析和結(jié)果生成的準(zhǔn)確性息息相關(guān),是非常必要的工作。
三、產(chǎn)品效果
案例 1:對(duì)話式問(wèn)數(shù)
我們已經(jīng)上線了隨機(jī)報(bào)表功能,主要功能是問(wèn)數(shù),支持用戶隨機(jī)提問(wèn),系統(tǒng)快速解答,同時(shí)支持同比、環(huán)比和排序等復(fù)雜查詢。
用戶可以隨機(jī)提問(wèn),例如查詢某個(gè)機(jī)構(gòu)的業(yè)績(jī)。系統(tǒng)通過(guò)大模型、意圖識(shí)別和知識(shí)庫(kù)對(duì)意圖進(jìn)行識(shí)別,解析出時(shí)間、指標(biāo)、計(jì)算方法和維度,然后通過(guò)知識(shí)庫(kù)進(jìn)行二次校準(zhǔn),進(jìn)入任務(wù)編排階段。接下來(lái)是 UM 鑒權(quán),根據(jù)用戶賬號(hào)確定用戶是否有權(quán)限使用該指標(biāo)。之后是 SQL 生成,調(diào)用數(shù)據(jù)庫(kù)進(jìn)行秒級(jí)查詢。最后是對(duì)結(jié)果進(jìn)行可視化包裝和美化。
案例 2:言出必答
我們還實(shí)現(xiàn)了一些其他功能點(diǎn),比如“言出必答”,用戶可以查詢指標(biāo)的元數(shù)據(jù)和口徑,系統(tǒng)能快速展示數(shù)據(jù)庫(kù)底層的數(shù)據(jù)治理知識(shí)。
案例 3:SQL 生成與問(wèn)題推薦
此外,隨機(jī)報(bào)表功能提供了兜底話術(shù),當(dāng)用戶提問(wèn)不完整時(shí),系統(tǒng)可以補(bǔ)齊默認(rèn)信息,如補(bǔ)齊時(shí)間。還能幫助有代碼能力的人員直接使用我們系統(tǒng)生成的代碼。
四、落地挑戰(zhàn)
我們?cè)陂_發(fā)過(guò)程中也遇到了很多挑戰(zhàn)。
- 第一是大模型的幻覺問(wèn)題,即同一個(gè)問(wèn)題可能會(huì)出現(xiàn)不同的回答,我們的解決方案是通過(guò)知識(shí)庫(kù)和數(shù)據(jù)中臺(tái)進(jìn)行兜底策略。
- 第二是根因分析,這是我們認(rèn)為最難的問(wèn)題,當(dāng)分析指標(biāo)變動(dòng)的深層原因時(shí),需要在后臺(tái)有大量的指標(biāo)圖譜和知識(shí)庫(kù)支撐,需要花費(fèi)大量的精力建設(shè)小模型,這也是我們未來(lái)重點(diǎn)的方向。
- 第三,用戶權(quán)限管理也是一個(gè)重要但容易被忽略的點(diǎn),我們需要長(zhǎng)期的數(shù)據(jù)治理和盤點(diǎn),以確保每個(gè)用戶只能使用其授權(quán)的指標(biāo),避免出現(xiàn)數(shù)據(jù)安全問(wèn)題。
五、總結(jié)與展望
整體而言,我們認(rèn)為這個(gè)項(xiàng)目的價(jià)值在于以下六個(gè)方面:
- 首先,我們的產(chǎn)品不僅限于管理層使用,而是可以覆蓋到所有員工和客戶。
- 其次,我們可以實(shí)現(xiàn) 7×24 小時(shí)的在線應(yīng)用。
- 第三,我們可以無(wú)縫銜接到不同的客戶端。
- 第四,我們提供的是標(biāo)準(zhǔn)一致的全域數(shù)據(jù)。
- 第五,我們能提供智能化的分析,降低分析門檻。
- 最后,我們能提供數(shù)據(jù)洞察的結(jié)論或建議,使數(shù)據(jù)洞察成為一個(gè)完整的分析過(guò)程。
感謝各位同仁的聆聽。我們平安人壽的大模型智能化報(bào)表——ChatBI 產(chǎn)品的介紹和討論到此結(jié)束。期待與各位進(jìn)一步交流和合作,共同推動(dòng)數(shù)字化轉(zhuǎn)型的進(jìn)程。
六、問(wèn)答環(huán)節(jié)
Q1:平安人壽的 Chat BI 生成是使用專用的大模型,還是通過(guò)微調(diào)通用大模型來(lái)實(shí)現(xiàn)的?另外,在 Python 和 SQL 兩個(gè)選擇之間,您的規(guī)劃和側(cè)重點(diǎn)是什么?
A1:我們目前使用的大模型是私有部署的 Qwen 72b 模型,并進(jìn)行了微調(diào)和多項(xiàng)工程優(yōu)化。由于金融企業(yè)的特殊規(guī)范,我們更傾向于私有化部署。對(duì)于 SQL 生成和 Python 功能,我們根據(jù)不同場(chǎng)景進(jìn)行規(guī)劃。例如,我們上線的隨機(jī)報(bào)表功能主要生成 SQL 語(yǔ)句,大模型主要負(fù)責(zé)語(yǔ)義理解,之后通過(guò) API 方式和 NLP 技術(shù)生成代碼,我們底層的數(shù)據(jù)服務(wù)中臺(tái)可以快速生成數(shù)據(jù)查詢。之前嘗試過(guò)讓大模型生成 SQL,但發(fā)現(xiàn)實(shí)現(xiàn)路徑和精準(zhǔn)度提升較慢,難度較高,因此我們采用了現(xiàn)有的指標(biāo)平臺(tái)。Python 功能我們規(guī)劃用于數(shù)據(jù)分析。
Q2:關(guān)于數(shù)據(jù)權(quán)限的管理,您是如何控制行列權(quán)限的?
A2:我們的數(shù)據(jù)權(quán)限管理已經(jīng)從早期的行級(jí)別權(quán)限服務(wù),進(jìn)化到可以進(jìn)行列級(jí)別的權(quán)限管理,我們認(rèn)為列級(jí)別的權(quán)限管理更為細(xì)致和安全。為此,我們?cè)跀?shù)據(jù)指標(biāo)上投入了兩三年的時(shí)間進(jìn)行數(shù)據(jù)治理和數(shù)據(jù)庫(kù)中臺(tái)的搭建。目前,我們底層有一個(gè)權(quán)限服務(wù),每次用戶調(diào)用時(shí),都會(huì)進(jìn)行鑒權(quán)檢查,確保用戶和指標(biāo)的權(quán)限范圍和關(guān)系已經(jīng)預(yù)設(shè)好。
Q3:關(guān)于用戶提問(wèn)的問(wèn)題,不同的用戶可能對(duì)同一個(gè)問(wèn)題有不同的描述,大模型可能會(huì)給出不同的判斷。您提到的兜底方案,能否詳細(xì)說(shuō)明一下?
A3:關(guān)于大模型的幻覺問(wèn)題,我們確實(shí)遇到過(guò),這個(gè)問(wèn)題需要花費(fèi)大量時(shí)間去分析 bad case,我們認(rèn)為沒有什么捷徑可走,需要不斷收集 bad case,并在意圖識(shí)別中加入各種知識(shí)。同時(shí),我們的模型也需要不斷細(xì)化,針對(duì)不同場(chǎng)景和用戶提問(wèn)進(jìn)行服務(wù)細(xì)分。我們已經(jīng)分析了十幾輪,上千個(gè) bad case,并不斷進(jìn)行分析。我們?cè)诋a(chǎn)品端設(shè)置了點(diǎn)贊功能,對(duì)于點(diǎn)贊的問(wèn)題,我們會(huì)進(jìn)行重點(diǎn)關(guān)注,產(chǎn)品運(yùn)營(yíng)人員會(huì)對(duì)每個(gè)案例進(jìn)行分析。我們認(rèn)為,通過(guò)知識(shí)庫(kù)和數(shù)據(jù)中臺(tái)的維護(hù)和優(yōu)化,可以解決這個(gè)問(wèn)題,而不是通過(guò)調(diào)整一兩個(gè)參數(shù)就能解決的。
Q4:關(guān)于根因分析,如果我們要做好它,需要給大模型輸入哪些東西?
A4:要做好根因分析,我們需要輸入指標(biāo)之間的勾稽關(guān)系和相關(guān)性,這些知識(shí)需要形成知識(shí)圖譜輸入給大模型。我們通過(guò)業(yè)內(nèi)調(diào)研了解到,方向都是要梳理好自己的指標(biāo)圖譜,因?yàn)橐粋€(gè)指標(biāo)可能受多個(gè)指標(biāo)的影響,包括顯性和隱性的影響。這需要在底層做好數(shù)據(jù)模型去支持計(jì)算他們的相關(guān)性,包括時(shí)間滯后性等問(wèn)題。大方向就是要有指標(biāo)圖譜,我們已經(jīng)開始著手這個(gè)工作了。
Q5:關(guān)于知識(shí)圖譜,除了指標(biāo)圖譜之外,是否還涉及到其他的圖譜?
A5:我們的知識(shí)圖譜主要涉及指標(biāo)圖譜,包括指標(biāo)之間的血緣關(guān)系等,我們的數(shù)據(jù)中臺(tái)已經(jīng)包含了這些關(guān)系。至于是否涉及到企業(yè)或其他實(shí)體或關(guān)系,我們的圖譜主要是指標(biāo)方面的,因?yàn)槲覀兊漠a(chǎn)品是對(duì)內(nèi)的。技術(shù)方案方面,我們把圖譜直接放在數(shù)據(jù)庫(kù)里面,作為一個(gè)服務(wù),通過(guò)接口進(jìn)行調(diào)用。我們有能力窮舉它們之間的關(guān)系,并通過(guò)算法計(jì)算出指標(biāo)和指標(biāo)之間的隱性關(guān)系,因此我們也具備相關(guān)的圖算法能力。