JoyAgent 是京東自主研發的智能體引擎平台。今年7月,其多智能體引擎模塊JoyAgent (JDGenie)正式開源;9月,在 JDGenie 基礎上進一步開源 DataAgent 能力,此次,京東再次發佈重要更新-在JoyAgent-JDGenie中開源多模態RAG能力。持續推進智能體技術在開源社區的共建與共享。
目前該項目在GitHub上已獲得11.2kStar,歡迎開發者體驗並參與共享。
•開源體驗:https://github.com/jd-opensource/joyagent-jdgenie
•多模態知識管理md地址: https://github.com/jd-opensource/joyagent-jdgenie/blob/data_agent/README_mrag.md
多模態知識管理簡介
傳統RAG基礎架構
傳統的檢索增強生成(RAG)技術,在處理文本知識方面取得了顯著的成功,它通過外部知識庫有效緩解了大型語言模型的“幻覺”問題。但其侷限性也日益凸顯
一、多模態問題:處理結構化與非結構化內容
當面對企業內普遍存在的文檔時,一個僅能理解文字的RAG系統,無法閲讀和理解圖片、表格中藴含的豐富信息。這導致了檢索的片面性與答案的不完整性,大量高價值的知識資產因此沉睡,無法被有效利用。
一方面圖像中的數據(如截圖或掃描件)也無法被文本RAG系統直接理解。另一方面PDF文檔尤其是包含嵌入式表格、圖表和複雜佈局的文檔,需要複雜的解析邏輯,因為其格式和佈局往往不一致 。傳統的文本提取方法在此處會丟失關鍵信息,例如表格中數字的列關係或圖表中數據的視覺趨勢。大型語言模型(LLM)主要通過海量的順序文本進行訓練,因此它們在處理多維、關係化的表格數據時會遇到困難 。如果將表格簡單地轉換為純文本進行嵌入,就會破壞其固有的結構化關係,導致檢索結果的準確性大打折扣 。
二、數據質量與動態性:RAG性能的殺手
企業知識庫面臨的另一個嚴峻挑戰是數據質量的參差不齊和內容的頻繁更新。如果知識庫中存在不一致的格式、過時的信息、重複的條目或相互衝突的事實,往往無法給出準確的回答 。
同時,知識庫並非靜態不變。在實際的企業環境中,文檔更新頻繁。管理這些變更是本身就是一項複雜的任務,因為每一次更新或刪除都可能需要同步其在索引中的所有相關數據塊和向量。此外,公司的一些核心信息往往駐留於實時、動態的運營系統(如CRM、ERP)中 。這些數據都是傳統RAG所無法處理的。
JoyAgent企業內多模態知識管理系統架構
一、知識加工層
時序知識圖譜
我們引入graphiti, 一個構建和查詢時間感知知識圖譜的框架,建設時序知識圖譜。Graphiti 基於事件更新的時序知識圖譜構建,增量更新、雙時間建模(跟蹤事件發生時間和攝入時間),並在無需完整重新計算的情況下處理隨時間演變的關係統計。利用它可以可以整合並維護動態的用户交互和業務數據,支持智能體基於狀態的推理和任務自動化。
•處理異構、演變的數據源以支持決策和自動化
•時間特徵在需要歷史分析的場景中特別有價值,如金融服務的審計合規或供應鏈管理的趨勢預測。
| 特性 | 傳統知識圖譜 | 時序知識圖譜 |
|---|---|---|
| 數據更新 | 靜態批量處理 數據變更需重新計構建整個圖譜,效率低。 | 實時增量更新 新數據可即時融入,無需全圖重建,響應更快。 |
| 時間處理 | 時間感知較弱 只記錄當前狀態,缺乏歷史追溯和時效性管理。 | 雙時態數據模型 同時記錄事件發生時間和系統錄入時間,支持歷史狀態回溯。 |
| 關係推理 | 側重於靜態關聯 善於表示實體間關係,但對動態變化和因果關係的捕捉較弱。 | 動態關係與演化推理 能追蹤關係隨時間的變化軌跡(如興趣衰減、狀態轉移),支持因果分析。 |
| 矛盾處理 | 覆蓋或人工判斷 新信息常直接覆蓋舊信息,或需要複雜邏輯及人工干預來處理衝突。 | 時態邊失效機制 新信息使舊關係自動失效但仍保留歷史記錄,邏輯清晰且可追溯。 |
多文檔格式多數據源支持
為了支持企業內豐富的文檔格式,我們支持文檔(Excel、Word、PDF、PPT,圖片等),同時需要對視頻做專門的ASR以及關鍵幀切片處理。
此外,為了提升異構數據的處理效果,我們定義了統一的文檔結構,針對不同類型的文件定義不同的解析算法,輸出統一的文檔結構,方便後續的用户人工干預和索引構建流程。
企業中大量的支持存儲在系統裏(例如ERP,CRM等),因此除了支持普通的文件輸入,我們還需要支持API形式的數據錄入。我們專門優化了針對API的數據調用流程和系統描述。這樣上層Agent能動態發現是否需要調用某個API獲取對應的數據。
知識使用層-多模態RAG
多結構索引
為了儘可能的召回需要的知識片段,以及建立知識之間的相互關係。我們建立了基於圖譜的GraphRAG, 基於tag的關鍵詞索引以及傳統的Emebedding索引。
分塊策略直接決定上下文的完整性和連貫性,從而影響生成輸出的質量。普通分塊可能破壞語義完整性,降低相關性。在長篇文檔中往往標題,副標題是對一大片文檔的整體總結,如果只看分塊可能會造成信息丟失。因此,我們優化了分塊策略,引入層級分塊策略。
Hierarchical Chunk Index(層級分塊索引)
層級分塊能夠將文檔內容按照語義關係和結構層級進行分塊管理,使得系統在檢索時能夠更細緻地定位相關信息,並有效支持長文檔和複雜結構的內容解析與檢索。
知識圖譜召回
GraphRAG 通過構建節點(實體)和邊(關係)的圖結構,捕捉這些內在連接,實現多跳推理——例如,從“產品銷售數據”跳到“客户反饋”再到“供應鏈調整”。這種方法在複雜推理任務中可將準確率提升高達35%。為了適應企業數據的動態性以及時序性,我們引入了時序知識圖譜,每條邊記錄事件有效期和系統錄入時間,允許企業查詢歷史狀態,這就使得AI Agent能維護連續上下文,跟蹤用户偏好。
Agentic 搜索
傳統的RAG系統本質上是一種“被動”的、單輪次的“檢索後閲讀”模式。它擅長於處理簡單的信息檢索,但面對複雜、多步驟的查詢時,其能力邊界便顯現出來。Agentic RAG 能根據檢索結果進行主動規劃、推理和執行,將LLM從一個被動的響應者轉變為一個能夠主動思考、調查並解決問題的智能體。
為了平衡時間和效率問題,目前我們開放了配置選項,用户可以自主選擇是否需要開啓Agentic的能力,如果關閉,則迴歸傳統模式,走一次檢索總結流程。
多模態檢索
由於大量的知識在圖片,pdf或者表格中,在沒有看到query前直接用ocr,或者摘要會造成信息丟失。因此在我們實現多模態檢索時,我們增加了VLM進行回答的過程。我們將query與召回的圖片進行交給VLM進行處理。再將VLM輸出的答案與文本召回的Chunk一起交給後續的LLM進行處理。
目前我們提供了兩種多模態能力。我們提供了兩個多模態工具,供上層Agent自主決策調用哪個多模態能力。
•圖片問答,用户輸入圖片,直接對圖片內容進行問答、摘要、翻譯等操作。
•圖片檢索,用户輸入圖片或者文字,利用向量檢索召回相似圖片。
我們還有一個文本搜索工具。這樣讓Agent自主決策調用哪個工具,甚至是多步的工具組合,我們可以讓多模態檢索Agent處理企業內各種複雜場景。舉個例子,供應鏈管理人員收到倉庫上傳的異常貨物照片,需要判斷異常類型、查找歷史處理案例,並獲取應急處理流程。
評測數據
在公開數據集DoubleBench上,我們對比測評了MDocAgent、Colqwen-gen、ViDoRAG、M3DOCRAG等多模態問答系統。最終答案的準確性採用LLM作為評判標準進行評估。 GPT-4o根據0到10的等級對生成的答案與真實答案的正確性進行評分。得分不低於7分的答案為正確,不高於3分的答案為錯誤,其餘答案為部分正確。JoyAgent的正確率達到76.2%,優於當前其他多模態問答系統。
| 系統 | 正確 | 部分正確 | 錯誤 |
|---|---|---|---|
| JoyAgent | 0.762 | 0.105 | 0.133 |
| MDocAgent | 0.757 | 0.132 | 0.111 |
| Colqwen-gen | 0.676 | 0.160 | 0.164 |
| ViDoRAG | 0.623 | 0.144 | 0.233 |
| M3DOCRAG | 0.538 | 0.138 | 0.324 |
•Colqwen-gen:參照組,結果由gpt-4o直接回復生成(不採用RAG)。
此外,我們還利用企業內部文檔,包括培訓資料,產品RPD,運營計劃構建了測試集,在150個query,500篇文檔的測試集中橫向對比了coze,ima和JoyAgent。
未來計劃
RAG的未來發展將是多範式融合的持續演進。可以預見,未來的系統將無縫地集成Agentic和GraphRAG的能力,智能體將能夠動態地決定何時從知識圖譜中檢索關係信息,何時調用外部工具執行復雜任務。同時,多模態能力的持續進步將使RAG系統能夠處理並理解更加多樣化的數據類型,從而真正成為一個能夠理解和利用企業所有知識資產的綜合性智能系統。
當然知識加工和知識檢索知識知識庫管理的第一步,利用知識生成知識,才是詩和遠方。我們將繼續沿着多模態DeepSearch的方向繼續迭代,加深知識和文檔管理層面能力建設。真正為企業內員工知識加工,知識檢索,知識生成提供幫助。