用於複雜 RAG 任務的先進可控 Agent
一種先進的檢索增強型生成(RAG)開源解決方案,旨在解決簡單的基於語義相似性的檢索無法解決的複雜問題。
展示了一個複雜的確定性圖,作爲高度可控的自主 Agent 的 “大腦”,能夠回答來自私域數據的複雜問題。
**關鍵特性 **
-
複雜的確定性圖:作爲 Agent 的 “大腦”,使複雜推理成爲可能。
-
可控自主 Agent:能夠回答自定義數據集中的複雜問題。
-
幻覺預防:確保答案僅基於提供的數據,避免 AI 幻覺。
-
多步驟推理:將複雜查詢分解爲可管理的子任務。
-
適應性規劃:基於新信息不斷更新其計劃。
-
性能評估:使用 Ragas 指標進行全面質量評估。
工作流程
-
PDF 加載和處理:加載 PDF 文檔並將其拆分爲章節。
-
文本預處理:清洗和預處理文本,以獲得更好的摘要和編碼。
-
摘要:使用大型語言模型爲每個章節生成廣泛的摘要。
-
書籍引用數據庫創建:爲需要訪問書籍引用的特定問題創建數據庫。
-
向量存儲編碼:將書籍內容和章節摘要編碼爲向量存儲,以便高效檢索。
-
問題處理:
-
通過將命名實體替換爲變量來匿名化問題。
-
爲匿名化的問題生成高層次的計劃。
-
去匿名化計劃並將其分解爲可檢索或可回答的任務。
-
任務執行:
-
對於每個任務,根據上下文決定是檢索信息還是回答問題。
-
如果是檢索,從向量存儲中獲取相關信息並提煉它。
-
如果是回答,使用思維鏈推理生成響應。
-
驗證和重新規劃:
-
驗證生成的內容是否基於原始上下文。
-
根據新信息重新規劃剩餘步驟。
-
**最終答案生成:**使用累積的上下文和思維鏈推理生成最終答案。
**使用案例:哈利 · 波特書籍分析 **
該算法使用第一本哈利 · 波特書籍進行了測試,允許監控模型對檢索信息與預訓練知識依賴度的對比。這種選擇使我們能夠驗證模型是在使用其預訓練的知識,還是嚴格依賴從向量存儲中檢索到的信息。
示例問題 問:主人公是如何打敗反派的助手的?
爲了解決這個問題,需要執行以下步驟:
-
確定情節中的主角。
-
確定反派角色。
-
確定反派的助手。
-
搜索主角與反派之間的對抗或互動。
-
推斷導致主角打敗助手的原因。Agent 能夠分解並解決這樣複雜的查詢,展示了其複雜的推理能力。
https://github.com/NirDiamant/Controllable-RAG-Agent
推薦閱讀
歡迎關注我的公衆號 “PaperAgent”,每天一篇大模型(LLM)文章來鍛鍊我們的思維,簡單的例子,不簡單的方法,提升自己。
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/SDTE5LZLegXyIi3DxSRuvg