大語言模型在數倉數據治理上的落地實踐
隨著數據規(guī)模的不斷增長和業(yè)務需求的日益復雜,數據倉庫(Data Warehouse)的建設和管理變得越來越重要,數據治理也成為數據倉庫建設中不可忽視的一環(huán)。其中數倉元數據和指標是對數據的描述和度量,對于數據分析和決策起著至關重要的作用。然而,由于數據規(guī)模龐大且復雜,傳統(tǒng)的元數據和指標檢索方法往往效率低下,無法滿足快速、準確地檢索需求。本文將介紹如何利用大型語言模型技術在數倉元數據和指標檢索治理上進行落地實踐,包括技術架構、詳細的技術說明以及解決的問題。
1.實踐的背景
在現有的系統(tǒng)工具中,我們已經建設過了指標管理系統(tǒng),元數據系統(tǒng),ide用戶查詢平臺等多項數據工具。傳統(tǒng)平臺更多的是工具性的支持,用戶有目的輸入,系統(tǒng)檢索返回結果。這種形式容易形成信息孤島,因為元數據系統(tǒng)就是元數據信息,指標管理就是指標信息,用戶更多的時候是希望可以進行融合,來解答業(yè)務上的問題。
大語言模型是一種基于Transformer模型的自然語言處理技術。它通過大規(guī)模的預訓練來學習語言模型,然后可以在各種任務上進行微調,以實現更具體的應用。大語言模型具有強大的語義理解和生成能力,可以根據輸入的自然語言文本生成相關的回答。它可以在現有應用系統(tǒng)上充當粘合劑,將不同系統(tǒng)的信息有機地組合起來提供給用戶。因此,我們決定通過大語言模型來處理我們目前的解決場景,以滿足我們的需求。
2.技術架構
2.1檢索語料入倉
圖片
通過與元數據系統(tǒng)和指標管理系統(tǒng)的對接,您可以將需要咨詢的內容接入數倉進行存儲和管理。在數倉中,語料內容以語料短語和詳情信息組成的kv對的形式進行組織,形成初始的索引信息。
索引信息的組織形式可以根據具體的需求和數據結構進行設計。一種常見的方式是使用表名作為key,表結構作為value。這樣可以方便地根據表名進行索引查詢,快速找到相關的語料內容。
另一種方式是使用指標名稱作為key,指標說明和生成規(guī)則描述作為value。這種方式適用于需要根據指標進行咨詢的場景。通過將指標信息作為索引的一部分,可以方便地根據指標名稱進行檢索,快速找到與指標相關的語料內容。
通過與元數據系統(tǒng)和指標管理系統(tǒng)的對接,您可以獲取到更多的元數據信息和指標定義。這些信息可以作為語料內容的補充說明,豐富語料的詳情信息。同時,您可以將這些信息與語料短語一起存儲在數倉中,以便后續(xù)的索引接入和咨詢檢索。
2.2語料向量化處理
圖片
在完成語料組裝后,我們采用了Milvus向量庫來對語料內容進行向量化處理。這種處理方式的好處在于,通過將語料內容轉化為向量表示,我們可以避免明文匹配中的完全匹配或模糊匹配方式所帶來的匹配范圍縮小問題。因為用戶的語言變化情況非常多樣化,直接使用明文匹配可能無法涵蓋所有變化的情況。
通過向量化處理,我們將語料內容映射到一個高維向量空間中。在這個向量空間中,每個語料內容都被表示為一個向量,而這些向量之間的距離可以用來衡量它們之間的相似度。這樣一來,我們可以通過向量匹配的方式,找到與用戶輸入最接近的語料內容。
向量化處理的另一個好處是可以避免語言上的各種修飾詞所帶來的干擾。修飾詞通常是一些形容詞、副詞或其他語言上的修飾性語句,它們在明文匹配中可能會導致匹配結果的偏差。但是通過向量化處理,我們將語料內容轉化為數值向量,這些向量能夠更準確地反映語料內容的語義信息,而不受修飾詞的影響。
2.3大語言模型接入
在用戶咨詢的過程中,將對話內容也進行向量化處理,可以用于與結果進行匹配。通過這種方式,我們可以根據向量的相似度來找到與用戶咨詢內容最相關的語料內容。
通常情況下,用戶在輸入咨詢內容時,可能只會描述很少的語言,但這些描述往往是重點突出的。因此,通過向量化處理,可以將這些關鍵信息編碼為向量表示。向量化的過程可以使用各種技術,將文本轉化為數值向量。這樣一來,我們可以通過計算向量之間的相似度,找到與用戶輸入內容最相似的語料內容。
當找到匹配結果后,可以根據向量分值對結果進行排序處理。向量分值可以反映匹配的程度,較高的分值表示匹配度較好。通過對結果進行排序,我們可以將匹配度較高的語料內容排在前面,提供給用戶更相關的咨詢答案。
一旦確定了匹配結果,就可以將這些語料召回,將內容送入大語言模型提供的接口進行組裝。模型會根據輸入內容生成連貫、自然的回答。通過將匹配結果與大語言模型結合,我們可以將相關的語料內容轉化為更具體、詳細的回答,提供給用戶更專業(yè)、準確的咨詢服務。
2.4前端應用部署
圖片
在選擇前端環(huán)境時,我們考慮了原有的兩套系統(tǒng)以及其他綜合性平臺,但沒有找到合適的入口和理由來讓用戶接觸和使用這些系統(tǒng)。最后,我們決定將系統(tǒng)結合到IDE用戶查詢平臺中。對于使用SQL查詢信息的用戶,他們經常需要了解指標的含義、用法以及表的元數據信息。這些用戶主要分布在數分、產品、運營、算法等不同的小組。他們是目前最符合我們的使用場景的切入點。
通過將系統(tǒng)整合到IDE用戶查詢平臺中,我們可以為這些用戶提供一個統(tǒng)一的界面和入口,使他們可以方便地查詢和了解指標的相關信息。用戶可以在查詢平臺中輸入SQL語句,并獲取到與指標相關的詳細信息,包括指標的定義、計算方法、使用示例以及表的元數據信息等。這樣一來,用戶可以在一個平臺上完成查詢和了解指標的操作,無需切換多個系統(tǒng)。同時,用戶可以通過查詢平臺獲取到準確、全面的指標信息,幫助他們更好地理解和使用指標,提高工作效率。
總體框架圖:
圖片
3.應用效果
通過大語言模型在數倉治理中元數據和指標檢索方面的落地實踐,我們解決了以下幾個問題:
提高檢索效率:傳統(tǒng)的元數據和指標檢索方法往往需要復雜的查詢語句和繁瑣的操作,效率低下。而利用大語言模型技術,用戶只需輸入自然語言的查詢問題,系統(tǒng)可以快速地返回相應的結果,大大提高了檢索效率。
提升檢索準確性:傳統(tǒng)的元數據和指標檢索方法容易受到查詢語句表達不準確的影響,導致返回的結果不準確。而大語言模型具有強大的語義理解和推理能力,可以更好地理解用戶的查詢意圖,提高檢索結果的準確性。
提供更好的用戶體驗:傳統(tǒng)的元數據和指標檢索方法需要用戶具備一定的技術背景和操作經驗,對于非專業(yè)人士來說較為困難。而利用大語言模型技術,用戶只需輸入自然語言的查詢問題,無需了解復雜的查詢語法和操作步驟,大大提高了用戶的使用體驗??偨Y:通過大語言模型的技術支持,我們可以實現更智能、便捷的元數據和指標管理。它能夠理解自然語言輸入,并根據用戶需求提供相關的元數據和指標信息。這種智能化的能力使得數據操作和數據分析更加高效和準確。通過大語言模型的支持,我們可以更好地管理和利用數據倉庫中的元數據和指標,提升數據治理和數據分析的水平。希望本文對您有所幫助,謝謝!
作者簡介
范文
■ 數據平臺部-數據倉庫團隊
■ 主要負責汽車之家數據倉庫建設,數據開發(fā),搜索業(yè)務對接工作。