
本文整理自金山辦公 AI 知識庫技術總監陳亮在在 QCon 2024 北京的分享“金山辦公在知識庫業務中的大模型思考和實踐”。本次分享將介紹金山辦公在 AI 知識庫業務上的一些實踐經驗,包括 AI 在知識庫的落地場景、技術架構設計、RAG 技術、大模型踩坑和調優、技術演進等方面內容。
另外,即將於 8 月 18-19 日舉辦的 AICon 上海站同樣設定了「大模型場景+行業應用探索」專題分享,我們將精選具有代表性和規模的典型案例,展示大模型技術在不同領域中的實際應用與成效。目前是 8 折購票最後優惠期,感興趣的同學請訪問文末「閱讀原文」連結瞭解詳情。
本文由 InfoQ 整理,經陳亮老師授權釋出。以下為演講實錄。
首先,我想簡單介紹一下 WPS 在 AI 產品方面的一些情況。目前,大模型在應用方面還沒有出現一種現象級的產品,金山辦公也不例外。去年,我們選擇了全面投入 AI 的戰略,並在過去一年中投入了大量資源,與客戶一起共創並落地了一些 AI 產品。
在 4 月 9 日,我們舉辦了一場金山辦公生產力的釋出大會。在這次大會上,我們釋出了整個 AI 365 平臺,其中就包括了 WPS AI 產品。WPS AI 是為企業量身定製的,旨在幫助企業提高生產力,實現更高效的工作流程。
自去年下半年以來,我們與多家企業進行了深入的合作,共同探索 AI 技術在辦公場景中的應用。在這個過程中,我們收集並分析了眾多客戶的痛點,將這些痛點轉化為標準化的產品解決方案。在 AI 領域,我們金山辦公確定了三個主要的發展路徑。
首先,我們推出了名為 AI Hub 的產品,它本質上是一個智慧基座。AI Hub 的核心功能是解決大模型如何被有效利用的問題,幫助使用者更好地理解和應用這些複雜的 AI 模型。
其次,AI Docs,即我們的智慧文件庫,旨在透過 AI 技術賦能文件處理,為使用者提供更加豐富和有價值的應用場景。
最後是 Copilot Pro,它本質上是一個 Agent 產品。Copilot Pro 能夠幫助使用者呼叫各種工具,完成特定的任務,提高工作效率。
AI Hub 本質上是一個基座型產品,其主要功能是讓大模型能夠無縫地被呼叫。例如,透過 AI Hub,我們可以接入商湯、MiniMax、文心一言等模型。
在企業場景中,我們考慮了員工使用大量 token 可能佔用他人配額的情況,以及管理層希望瞭解員工使用情況的需求。因此,AI Hub 提供了一個平臺,可以在企業內部提供受控的大模型接入服務和聊天場景,實現資訊安全和工作效率的雙重保障。目前,我們已經接入了國內主要的大模型廠商。我們的模式支援公網、私網以及混合部署專區的模式。AI Hub 的另一個特點是,使用後還可以進行計費統計。企業可以透過曲線圖直觀地看到每天 token 消耗的數量,以及提示詞的使用情況,這些都能從企業層面得到直觀的體現。
AI Docs,即智慧文件庫,是我們基於 WPS 辦公文件的深厚積累所推出的產品。金山辦公憑藉多年的文件處理經驗,積累了一套優秀的文件解析能力。今年特別強調了 AI 知識庫的重要性,希望透過大模型技術結合我們自身的文件基礎,讓企業各個環節上的文件得以啟用,真正為企業帶來文件內容的價值和知識洞察能力。在當前 AI 技術的支援下,我們可以讓過去的文件透過結構化的方式,結合我們的解析能力,成為 AI 輸入的來源。我們的解析能力足以覆蓋文字、表格、圖表等複雜結構。
智慧文件庫還包括智慧創作功能,它本質上是解決內容生產問題。在大模型的基礎上,我們利用它來生產內容,尤其是在金融、公文和論文等領域,這是一個重要的落地方向。基於明確的來源,我們可以利用大模型生成符合特定風格、字數和排版要求的內容。最重要的是,這一切都是基於我們的知識庫產品來實現的,知識庫本質上是海量文件的聚集池。例如,如果我們需要生成一篇 QCon 大會的演講主題稿,我們只需向知識庫中新增一些 QCon 的資料,然後透過一些機制,讓大模型能夠輸出符合今天 QCon 大會需求的演講稿。智慧創作功能為我們的客戶提供了一種便捷的方式來生成內容。在後續的介紹中,我們會詳細說明其關鍵實現技術。
最後一個要介紹的 AI 產品是 Copilot,它是基於 API、Agent 和大模型的體系架構設計的產品。雖然這個概念在競品中已經相當常見,但 Copilot 的初衷是為了幫助企業降低成本和提高效率。它旨在取代企業中日常的重複性簡單勞動,透過降低人力成本來實現降本增效的目標。例如,Copilot 可以自動提取銷售報表和考勤資料等任務。
我們內部已經開始使用 Copilot,它帶來了極大的便利。舉個例子,如果需要建立一個明天 10 點的會議,傳統工作流程中,我需要尋找會議室、預定、建立日程,然後傳送給相關同事。但在 Copilot 的幫助下,我只需要簡單地說一句話:“明天 10 點幫我建立個會議併發給相關人員”。Copilot 會解析這個請求,呼叫 365 內部的 API,如果需要,還可以接入企業的組織架構 API 來找到相關人員並建立會議。接下來,我想提出一個概念,即未來企業級 AI 的形態。我們提倡構建企業專屬的知識大腦。知識大腦類似於人類的行為,具有記憶、思考、行動和自我反饋調節的能力。這是未來的一個目標,我們認為每個企業都應該思考如何構建自己的企業大腦。
大模型現在已經能夠呼叫許多能力,包括企業自己的 API 和私有資料。金山辦公提供了文件處理能力,以及 365 能力,後者包括 Office、會議、日曆等套件的能力。透過 AI Hub 呼叫大模型,大模型就擁有了強大的思考能力、洞察一切的感知能力、超大容量的記憶和自我規劃的執行能力。如果要用一句話來定義 WPS AI,那就是幫助企業構建自身的企業大腦,讓企業的生產經營活動獲得 AI 的加持,並提升降本增效的程度。
技術實踐方面,我想透過三個環節來分享我們的經驗。
首先,是智慧問答。智慧問答是許多智慧 AI 應用的標配,它包括提問和回答的流程。這個功能與多種技術相關,本質上是基於 RAG 的檢索增強架構。
我今天更想強調的是解析、資料切斷和資料安全這三個部分。我認為這是企業特別需要的,很多客戶找到我們,希望與我們共同創造一個產品。他們擁有業務經營資料和 AI 提效的需求,但在 RAG 前置階段,他們缺乏對資料進行解析、切斷和清洗的能力。他們有這方面的嘗試,但效果並不理想,因此希望與我們合作,共同提升這方面的能力。所以,今天我想單獨介紹一下我們在這方面的做法和所能達到的水平。
第二個環節是創作。創作背後的原理其實涉及到召回和 SFT。我們會對模型進行一些細微的調整,以確保它在遵循指令方面更加符合我們的要求,同時讓生成的內容更加多樣化。
最後一塊是智慧簡歷庫。簡歷在許多企業場景中都是一個常見的需求。例如,如果我需要招聘一位產品經理,HR 會推送給我許多簡歷。在這些簡歷中,我需要篩選出符合要求的候選人,比如具有 AI 工作經驗的碩士產品經理。
傳統的方式可能需要手動搜尋,但在 AI 環境下,我們可以透過問答來實現,但問答本身存在非結構化的短板。因此,我們會進行結構化提取。非結構化處理在大模型、統計類、檢索類任務中的表現並不理想。例如,如果我們把所有簡歷都交給大模型,詢問有多少產品經理,大模型可能會給出不穩定的答案。
智慧問答是我們 AI 知識庫的一個重要應用案例。它的核心功能是在海量知識庫中檢索出與使用者查詢最相關的問題,並將其呈現給使用者。我們還有一個詞條功能,可以在後臺配置,比如出現公司某個財務同事的名字時,可以顯示出來並跳轉到對應的聊天框。此外,我們還能夠檢索出與上下文相關的圖片,並引用文件來源,即與問題召回相關的文件。
這個場景有幾個要點。首先是異構文件的解析,這是 RAG 架構的第一個環節,文件進來後,需要經過處理提取出內容;其次是精準檢索,這與傳統的推薦或搜尋技術相關;第三是企業關心的資料安全需要有管控,問答中的管控是一個挑戰,具體實踐方式包括:使用者輸入查詢時,對 query 進行改寫,以檢索出與 query 最相關的片段,然後交給大模型生成 prompt。
知識文件入庫過程中,會經過解析、切斷、過濾,以及 retrieval 和召回後的許可權過濾:
-
解析:支援海量異構資料來源的精準識別和解析。文件是企業最寶貴的數字資產,格式多樣。我們內部有一套機制,可以將文件解析輸出成統一的規範格式,支援 Markdown、json 等。
-
切片:根據不同的文件佈局,採用不同的切片策略。我們有七大分類,包括合同、公文、財報、論文等,每種文件都有不同的佈局。我們會根據文件結構進行切片,採用頁碼、章節、段落、block 語義等策略。這樣可以提高召回率,使大模型的問答效果更好。
-
召回:採用多路召回策略,比單路召回有更高的召回率。召回率越高,送給大模型的答案越相關,效果越好。
-
許可權:在召回檔案後根據文件 ACL 許可權進行校驗。我們會篩選出員工能看的文件,生成答案時不會包含不能看的片段。這是基於企業安全需求的管控措施,也是我們 B 端企業客戶的一個痛點。
智慧創作與智慧問答是緊密相連的,它們之間有著相似的入口。在創作方面,使用者只需輸入一個主題或匹配到推薦的主題,系統就能幫助生成符合使用者需求風格和內容的文字。這些生成的內容可以直接填入雲文件模板中,模板支援公文、合同、財報等多種型別,並且可以附上參考文件,顯示生成檔案所依據的原始資料。在智慧創作的應用場景中,我們分析出幾個特點:
-
創作必須基於事實,不能隨意編造。
-
需要支援多種創作風格,以適應不同角色和行業的需求。
具體實現智慧創作的方法包括:
-
主題匹配:根據使用者輸入的主題,系統會匹配或召回相關的文件片段,生成大綱。
-
大綱生成:大綱與主題之間存在相似度關係,根據大綱進一步匹配庫中的檔案,生成最終文件。
-
Prompt 調優:通過幾輪確認,包括召回和重新生成,讓使用者逐步得到他們想要的內容。
-
SFT:為了支援多種風格並穩定輸出所需內容,採用 SFT 技術進行模型微調。我們使用開源的 Lora 模型,基於特定資料集進行訓練,以適應不同的創作場景,如財報、公文和合同等。
目前,智慧創作在財報和公文方面的效果是令人滿意的,但還未正式推向企業和大眾使用。因為在實際應用中,還需要考慮許多專業術語和行業“黑話”,比如金融領域的市盈率、P/E 等,以及醫藥行業的專業表述,這些都需要專門的訓練和處理以確保準確率。特別是在醫藥行業,對創作內容的準確率要求極高。例如,藥品說明書的撰寫不能有任何差錯,因為它直接關係到藥物的使用方法和患者安全。因此,智慧創作在這些領域的應用需要經過嚴格的多輪驗證,確保其輸出的可靠性和專業性。
智慧簡歷庫是我們產品的一個特色場景,它主要處理結構化資料。在招聘過程中,我們經常會遇到需要比較候選人能力或推薦合適人選的問題。簡歷的格式相對固定,包含頭像、姓名、聯絡方式、工作經歷、教育背景等資訊。在傳統的大模型處理中,對於統計類或檢索類的問題,如統計應聘某職位的人數,可能無法給出穩定準確的答案。
為了解決這個問題,我們採用了結構化提取的方法。透過結合大模型技術、自然語言處理(NLP)和命名實體識別(NER)等演算法,我們可以將簡歷中的資訊如姓名、工作經歷等提取出來,並以結構化的形式儲存在資料庫中。當用戶提出問題時,我們會將問題轉化為結構化或非結構化資料進行處理。例如,使用者可能想要找一個產品經理,我們會將這個問題轉化為 SQL 語句,透過向量搜尋找到相關的簡歷片段。
在結構化抽取方面,我們使用了大模型的 Slot 抽取技術和 Lora 微調。Lora 微調的目的是讓預訓練的大模型更好地適應垂直領域場景,使其能夠更準確地識別和提取簡歷中的關鍵詞。我們還生成了簡歷的總結,這有助於進行 JD(職位描述)匹配。JD 匹配與欄位匹配是兩種不同的方式。我們透過語義檢索,結合 ES(Elasticsearch)技術,根據職位描述中的自然語言描述,如“需要多少年以上的工作經驗”等,進行精準匹配。
查詢思路包括統計和檢索,例如查詢有多少碩士以上學歷的同學,系統能夠準確回答並列出具體人員。這在傳統的大模型語義問答中是難以實現的,而透過結構化處理,我們可以與傳統的向量檢索相結合,提供更準確的結果。此外,我們還面臨問題轉化 SQL 技術的穩定性問題,後續我們計劃透過 Lora 微調來增強其穩定性和輸出的可靠性。透過這些技術的應用和最佳化,智慧簡歷庫能夠更有效地輔助企業在招聘過程中篩選和推薦合適的候選人。
在大模型應用過程中,我們發現這個過程非常有趣。大模型就像一個知識淵博的老人,幾乎可以回答任何問題,但準確性就需要我們自己來確保了。為了確保大模型應用的準確性和有效性,我認為應該從四個維度來進行規範和約束:設計、資料、最佳化和踩坑。
-
設計,我們需要有工程化的思維,特別是在問答或創作中,必須有一個嚴格的 pipeline 流程。因為在大模型中,資料的任何錯誤都會被放大,誤差會隨著流程的進行而增大。
-
資料,我們的實踐經驗表明,當資料量不足時,優質的資料比資料量更為重要。對大模型來說,高質量的輸入是更好的選擇,因為低質量的資料會導致大模型輸出更加不穩定。
-
最佳化,我們內部有一套質量評測平臺,用於評估問答或大模型輸出的質量。核心思想是透過 query、context 讓模型輸出答案,並結合人工稽核和標註,雙管齊下,來評估回答的質量。
-
踩坑,在使用大模型時,我們經常會遇到輸出不穩定的問題。由於大模型是生成式的,每次預測的結果都可能不同。因此,我們需要在前面做一些調整,比如 Lora 微調,以保證輸出的穩定性。尤其是在問答場景中,即使召回的片段相同,也無法保證每次的回答都一樣。這時就需要採取一些措施,比如快取、微調或者對 prompt 進行約束等。
在大模型領域,我們見證了第一波以 GPT 為代表的大模型湧現,這引起了廣泛的關注和好奇,因為這些模型顯示出了強大的能力。緊隨其後的是第二波應用層的創新。據統計,目前國內已有上百個大模型,儘管現象級別的應用尚未普及,但各行各業已經開始了自己的嘗試和探索,包括金融、醫藥等不同領域都在積極進行 AI 的探索和研究。
首先,第二波創新應該專注於各個行業的應用場景,進行深入的創新。大模型的發展正從初期的好奇和娛樂,轉向實用性和行業特定應用,這是一個必然的發展趨勢。隨著 GPT 3.5 API 的釋出,我們可以預見這一趨勢將變得更加明顯。
第二個觀點是開放賦能。由於我們始終面向 B 端客戶,B 端客戶實際上需要的是能夠加速業務成長並帶來價值的能力。無論是 SaaS 還是 PaaS 的方式,企業客戶關注的是實際效果。因此,深入業務、提供實際價值是未來發展的關鍵。
第三,純粹的理論研究無法產生實際價值。我認為,混合模式是未來發展的一個重要方向。雖然大模型能做很多事情,但在某些方面可能表現不夠完美,需要進一步的調教和最佳化。這包括預訓練、全引數調整或部分引數調整等方法。在我們的業務中,大小模型的結合將繼續是一個值得深入挖掘的方向。

