NirDiamant/Controllable-RAG-Agent
This repository provides an advanced Retrieval-Augmented Generation (RAG) solution for complex question answering. It uses sophisticated graph based algorithm to handle the tasks.
解決的問題
本專案解決了傳統RAG系統依賴簡單語義相似性所帶來的限制,這類系統往往無法回答複雜的多跳問題。本專案提供一個可控制的自主代理,能夠執行多階段推理與自適應規劃,從自訂資料集回答非平凡問題,同時透過僅基於所提供資料來確保答案準確性,嚴格防止幻覺。
工作原理
該代理使用決定性圖作為其「大腦」,協調多階段流程:
- 資料處理:載入PDF文件,拆分為章節,進行清理並生成摘要。原始內容、章節摘要與特定引文均被編碼至向量儲存中。
- 問題匿名化:為避免LLM偏見與預訓練知識的影響,代理將問題中的命名實體替換為變數,以建立通用執行計畫。
- 任務分解:將匿名化計畫還原並分解為具體可檢索或可回答的任務。
- 執行與精煉:針對每個任務,代理決定是從向量儲存中檢索資訊(精煉結果以確保準確性),還是使用思維鏈推理生成回應。
- 驗證與重規劃:代理驗證生成內容是否基於原始上下文。若驗證失敗,則更新計畫並重複該過程。
- 最終答案:使用累積的上下文與思維鏈推理生成最終回應。
適用對象
需要高可靠性、在大型文件(如書籍)上進行複雜推理,並嚴格遵循來源資料以避免幻覺的生產級RAG系統開發人員與AI工程師。
亮點
- 決定性圖推理:使用結構化圖管理複雜自主代理行為。
- 自適應規劃:根據過程中取得的新資訊持續更新執行計畫。
- 幻覺預防:透過驗證迴圈與根植檢查,確保答案僅基於所提供資料。
- 實體匿名化:透過基於變數而非具體命名實體進行規劃,防止LLM偏見。
- Ragas評估:整合品質評估,使用忠實度、答案正確性、上下文召回率等指標。
相關
- 專案
- 專案
- 專案
- 專案
- 專案