ChunkRAG:用于RAG系統(tǒng)的新型LLM分塊過濾方法
ChunkRAG的方法論
ChunkRAG的方法論旨在通過細粒度的過濾機制來提高檢索增強生成(RAG)系統(tǒng)的精確性和事實準確性。該方法論分為兩個主要階段:語義分塊和混合檢索及高級過濾。
語義分塊
語義分塊是ChunkRAG的基礎步驟,將輸入文檔轉換為語義上有意義的單元,以促進有效的檢索和評估。這一階段包括以下三個子過程:
1. 輸入準備:
- 使用NLTK的
sent_tokenize
函數(shù)將文檔D分詞為句子。 - 每個句子使用預訓練的嵌入模型(如
text-embedding-3-small
)生成嵌入向量。
2. 分塊形成:
- 根據(jù)語義相似性將連續(xù)句子分組為分塊,通過余弦相似度測量。
- 如果連續(xù)句子之間的相似性低于閾值(θ=0.7),則創(chuàng)建一個新的分塊。
- 每個分塊進一步限制在500個字符以內,以確保在后續(xù)階段的高效性。
3. 分塊嵌入生成:
- 每個分塊使用與上述相同的預訓練嵌入模型表示。
- 生成的分塊嵌入存儲在向量數(shù)據(jù)庫中,以便在查詢階段進行高效檢索。
混合檢索和高級過濾
在檢索和過濾階段,ChunkRAG將傳統(tǒng)的RAG組件與高級微調技術集成,以確保穩(wěn)健和高質量的檢索。這一階段包括以下步驟:
1. 檢索器初始化和查詢重寫:
- 初始化一個能夠將用戶查詢與分塊嵌入進行比較的檢索器。
- 使用GPT-4omini應用查詢重寫步驟,確保查詢與存儲的嵌入良好匹配,從而提高檢索過程中的召回率和精確度。
2. 初始過濾:
- 使用TF-IDF評分和余弦相似度的組合對檢索到的分塊進行初始過濾。
- 消除高冗余(相似性>0.9)的分塊。
- 剩余的分塊根據(jù)其與重寫查詢的相似性進行排序。
3. 相關性評分和閾值設定:
- 每個分塊由大型語言模型(LLM)分配初始相關性評分。
- 這些評分通過自我反思和批評模型進行細化,根據(jù)領域特定的啟發(fā)式調整評分。
- 通過分析評分分布設置最終動態(tài)閾值,只有超過該閾值的分塊被保留。
4. 混合檢索策略:
- 采用結合BM25和基于LLM的檢索方法的雙重檢索策略。
- 集成方法使用相等的權重(各0.5)來平衡關鍵詞和語義檢索。
- 使用Cohere的重新排序模型(
rerank-englishv3.0
)對檢索到的分塊進行排序,通過增強可能被優(yōu)先級降低的中心上下文的相關性來解決“中間迷失”問題。
響應生成和評估
在過濾后,剩余的分塊用作上下文來生成最終響應。步驟包括:
1. 響應生成:
- 基于過濾后的上下文分塊,LLM生成響應。
- 在生成過程中,嚴格約束確保僅使用檢索到的信息,從而最小化幻覺風險。
2. 評估:
- 生成的響應根據(jù)一組預驗證的答案進行準確性評估。
ChunkRAG的局限性
盡管ChunkRAG在提高檢索增強生成系統(tǒng)的精確性和事實準確性方面表現(xiàn)出色,但仍存在一些局限性:
1. 分塊分割的有效性:
- 方法嚴重依賴于分塊分割的有效性。初始分割中的錯誤可能會創(chuàng)建不相關數(shù)據(jù),從而降低響應質量。
- 分塊的語義連貫性和大小限制(500個字符以內)可能不適用于所有類型的文檔和查詢。
2. 嵌入質量:
- 用于分塊相關性評估的嵌入質量直接影響過濾效果。低質量的嵌入可能導致不準確的相關性評分和錯誤的過濾決策。
3. 計算成本:
- 多層次評分(在初始級別集成LLM和批評LLM評估)的成本可能很高,特別是在將方法擴展到更大數(shù)據(jù)集或實時系統(tǒng)部署時。
- 查詢重寫、多次檢索和重新排序步驟增加了計算復雜性和時間開銷。
4. 可擴展性:
- 盡管ChunkRAG在PopQA數(shù)據(jù)集上展示了積極成果,但在其他領域中的可驗證性和在長文本生成任務中的性能尚未得到充分分析,這是由于資源限制。
- 方法在處理大規(guī)模數(shù)據(jù)集和復雜查詢時的表現(xiàn)需要進一步驗證。
5. 動態(tài)閾值設定:
- 動態(tài)閾值設定依賴于評分分布的分析,這可能受到數(shù)據(jù)分布和查詢類型的影響。不穩(wěn)定的評分分布可能導致不一致的閾值設定,影響過濾效果。
6. 混合檢索策略的平衡:
- 混合檢索策略中BM25和基于LLM的檢索方法的權重分配(各0.5)是固定的,可能不適用于所有查詢類型和數(shù)據(jù)集。需要進一步研究和優(yōu)化以找到最佳平衡點。
7. 生成過程中的約束:
- 在生成過程中嚴格約束僅使用檢索到的信息,雖然減少了幻覺風險,但也可能限制生成響應的創(chuàng)造性和多樣性。
綜上所述,ChunkRAG通過細粒度的分塊過濾和高級檢索技術顯著提高了RAG系統(tǒng)的精確性和事實準確性,但仍需在分塊分割、嵌入質量、計算成本、可擴展性和動態(tài)閾值設定等方面進行進一步優(yōu)化和驗證。