大模型應用探索——企業知識管家
一、傳統知識管理的背景與挑戰
1、企業知識管理的必要性
知識管理是每個企業都面臨的一個非常重要的環節,借助知識管家可以全面提升企業的效率。
一方面,隨著互聯網應用的發展,知識爆炸,如何實現企業知識的共享稱成為企業面臨的一個問題。企業通過知識共享不僅能提升效率,也能減少重復工作。
另一方面,通過知識共享的模式,建立一個體系賦能的機制,能夠更好地優化流程和結果,提升企業的運行效率。
此外,知識管家可以為決策者提供一些關鍵信息和數據,來幫助他們做出更明智的決策。
最后,也是非常重要的一點是,減少企業員工的工作量,避免信息丟失,同時提升員工生產力和客戶服務水平,實現降本增效。
2、企業知識管理挑戰
知識管家的構建邏輯非常復雜,在沒有大模型之前,一般都是知識庫的概念,借助企業知識圖譜或者企業自己的數據去構建知識庫,在這個構建的過程中有很多的挑戰。
- 知識碎片化
知識碎片化主要體現在兩個方面,一個方面是企業的數據非常分散,如 OA 系統的數據有不同部門的、不同團隊的。另一方面,這些數據基本上都是以非結構化形式去提供的,比如 Word、PDF、圖片、視頻等。在知識管家建設的過程中,如何把這些知識碎片化的信息快速集中,是面臨的第一個挑戰。
- 信息過載
在企業業務快速發展中,面臨大量信息和數據不斷涌現的情況下,如何在海量數據中建立篩選機制,保證信息的準確、及時,也是一大挑戰。
- 數據安全風險
企業一般不會把自己的私有數據共享給其他的機構或組織,一般都會比較重視企業私域數據的數據安全,因此也需要處理數據安全風險。
- 知識共享交流難
不同的公司有不同的組織結構,有些偏技術,有些偏業務,也有技術和業務混合型的,在業務和技術溝通的過程中,溝通不順暢是每個企業在知識共享中都會面臨的一個問題。
二、知識管家解決方案
1、企業知識管家是什么
企業知識管家,類似一個人的大腦,去輔助整個知識的存儲,并理解和創造知識。
企業知識管家總體分為三個層次:第一層是功能技術側的需求,主要負責企業知識的管理,包括企業數據的導入、文檔的自動分類與歸檔,以及其它一些基礎功能的需求;中間層是應用側的需求,包括提供一些智能問答、智能搜索、摘要生成、輔助寫作等功能;上層是業務側的需求,包括合同的審查、保險的客服、行業報告的生成。
知識管家對外呈現的接口總體有三種模式:第一種接口類似文本框的方式,提供知識探索和分析;另一種是借助于 API 的 Token,把不同應用場景里涉及的智能 Agent 發布成 API Token 的方式去和企業的業務系統整合;第三種方式是智能 Agent,通過對話模式去做知識的探索和分析。
2、企業知識管家解決方案
企業知識管家主要負責企業專屬的知識管理和創造,包括以下一些業務場景:
- 智能問答
結合企業自己的私域數據,經過向量化后,存儲在向量數據庫中,借助問答對模式去做智能問答的場景,通過這些場景可以衍生出來很多更具化的業務需求。
- 自助文檔分析
通過文檔去做一些探索和分析,比如對論文進行探索,可以提問這篇論文講的內容,還可以進行文檔的自主分析,提供整個文檔的分段預覽、上下文檢索、摘要總結等能力。
- 自定義角色場景
結合企業內部不同角色的私域數據,再加上提示詞的模式,提供一些自定義場景的設計,如文檔的輔助寫作、智能會議紀要等。
- 合同審核
采用人機對話的模式,對企業的各種合同做一些關鍵條款信息的審查,查看對應信息是否準確。
企業知識管家產品的主要功能包括:
- 智能問答:結合具體問題,通過檢索上下文得到一個有源可依的答案。
- 多角色創意問答:通過提示詞與企業的私域數據來構建智能應用場景。
- 文檔分析:導入整個文檔,進行總結或探索分析。
- 知識管理:企業數據通過知識管家,進行全自動的管理,整個過程采用非常簡潔的模式。
- Agent 構建:開發平臺,即大模型 IDE 功能。
知識管家的功能架構:
最下面是 GPU 算力,包含兩類,一類是推理的算力,另一類是微調的算力。中間這一層是安全可信的企業私域數據記憶體——DingoDB多模向量數據庫。
再上一層整個技術層的功能點,包括模型微調的管理、知識文檔管理、智能應用管理。
最上面是偏業務場景類的需求,智能問答里可以自定義角色的一些對話、標準的 QA 問答,還有智能應用的 Agent,基于文檔的輔助閱讀、合同的審查、保險的個人助手。
三、知識管家核心技術探索
1、知識管家構建過程
接下來通過智能問答場景來介紹整個知識管家的構建流程。
首先需要有數據源,可能會有結構和非結構化數據,通常來說,知識庫的構建以非結構化數據為主,如 Word、PDF、Excel,還有企業系統、Jira、知識管理平臺等。
這些數據經過知識處理環節,轉換成向量存到數據庫中。需要先把文檔加載進去,然后給予文檔的 Layout 信息或結構信息,做文檔向量解析生成文件塊,然后基于文件塊調用對應的 Embedding 模型轉換成向量,對向量進行存儲。
智能問答交互的過程:在用戶提出問題后,首先借助智能助手把問題向量化,再去數據庫做語義的檢索,得到關聯這個語義相近的文章上下文,通過上下文結合提示詞,經過大模型的推理,最終得到答案的返回。
整體過程是一個不斷迭代和反饋優化的過程,只有這樣才能得到基于企業私域數據上的專屬智能專家角色。
2、知識管家構建核心技術探索
- 非結構化數據處理
非結構化數據 ETL 處理過程,需要借助一些工具。知識管家從技術模式上提供了一些特殊的算子,這些算子可以清洗整個 Map、Filter、基于 Window的變化,通過整個 ETL 的 Pipeline 可以數據進行轉換。
通過各種文件的解析器(如 PDF 的解析器)進行解析,然后經過中間層對應的不同應用場景 Hub 的 Operator,可以快速構建 Pipeline 的 Hub,再經過數據的清洗和轉換后進行 Embedding 化,最后存到向量數據庫中。
- 精度與完整性數據保證-無損數據解析
要得到一個好的模型調試效果,要保證精確和完整的數據,具備良好的數據處理的質量。
構建一個傳統的數據檢索非常簡單,但實際的知識比較復雜,除了文字本身的信息外,還有圖片、表格數據、段落信息等。對此,九章云極DataCanvas提供了 Layout 的解析模式,可以實現 Layout 信息、表格、圖片等多模態數據的全量存儲,全面提升了數據解析過程的質量。
- 強相關性檢索-Reranking 二次篩選
在文檔經過向量化,存到 DingoDB多模向量數據庫后,通過 Query 進行檢索,在檢索結果中會包含檢索內容本身的結果,也會包含相關性的結果,這時候需要在檢索召回的 Chunk 做 Reranking 的二次篩選。
在 Reranking 二次篩選時,要將 Retrieval 的 Chunk 和對應的 Query 做相關性語義分析,包括找到語義最為接近的匹配,然后把二次篩選后的檢索 Chunk 重新推給大語言模型。
- 安全可信的答案生成-多指令微調
為了保證答案生成過程的安全可信,九章云極DataCanvas基于通用的大語音模型,對召回的數據做提示詞的限定,并結合企業的私域數據對大模型進行垂類知識的微調,再加上風向管控機制,從而保證答案生成的高精度。
- 存儲與檢索能力- DingoDB多模向量數據庫
DingoDB可以提供多樣化的 API 支持通過 SQL 和 Python 工具包去做數據查詢,也提供一體化的方式,實現結構化和非結構化的聯合查詢。針對實時性的場景,DingoDB提供了實時寫入即可查詢的能力,可以邊導入數據邊進行實時檢索。
DingoDB還提供了計算加速的能力,支持 Meta 的前置、后置的過濾篩選,以及基于相似度的范圍查找。DingoDB還提供了多副本的工具,可以做部分的遷移和數據的遷移,同時提供多樣化的運維和監控工具,降低了運維成本。DingoDB還能提供自動彈性分片的能力,可以把數據動態地平衡到不同機器上,實現各個節點的負載均衡。
- 安全可信的專屬 LLM-微調 Pipeline
在企業私域數據上,針對通用的場景需要進行微調,以構建某個場景里企業專屬的大語言模型。知識管家里總結了整個微調過程中的痛點,在產品里提供工具化的方式,上傳文檔就可以得到所有問題的數據。有了數據后,直接在界面上通過配置參數就可以進行微調,同時產品也提供了一些微調數據指標,可以對微調的結果進行評價。
- 快速構建大模型應用-大模型 IDE
傳統大模型應用往往構建復雜,知識管家基于九章云極DataCanvas自己的 FS 能力,構建了自己的大模型 IDE,能夠提供豐富的組件和工具,通過簡潔的應用構建方式,把構建的模版發布成智能應用的 Agent。
四、總結與展望
1、知識管家方案總結
知識管家的技術亮點主要有以下六大方面:高精度檢索、便捷的 ETL Pipeline、高可用與擴展性、安全合規、智能數據融合以及豐富的場景。
知識管家的核心價值包括:提供了知識管理和智能啟發的基礎能力,并且提供了一種安全可信的應用私有化部署方式,包含企業的所有數據,可實現知識的融合和智能交互。作為智能底座,提供靈活擴展的能力,可以在知識管家上基于大模型做新的 Agent 開發。
2、未來展望
知識管家是基于九章云極 DataCanvas的AIFS,提供從裸金屬到上面的 GPU 算力以及模型的調度,并實現模型微調的一整套 Pipeline 模式。它借助通識的大語言模型,加上企業的私域數據,進行組合微調,形成企業自己專屬的大語言模型。基于大語言模型的擴展能力,結合 DingoDB多模向量數據庫,可以實現企業里面的搜索問答、摘要生成等應用,進行企業的知識管理。