接下來就有一下問題:如何合并這樣子查詢的答案呢?

       簡單地說,我們可以將檢索到的文檔集連接起來,并在生成答案時將它們作為上下文提供給LLM。我們可能完全不知道我們展示檢索到的文檔的順序。或者,我們可以做得更好。

       在LlamaIndex中提供了Sub Question Query Engine[2]來提升RAG檢索性能。對于每個檢索到的文檔集,都會生成相應子問題的答案。然后,LLM會根據這些子答案,而不是檢索到的文檔本身,得出最終答案

二、RAG-Fusion

       RAG-Fusion[3]仍然將文檔作為上下文提供給LLM。首先,它根據每個文檔出現的回憶集數量對文檔進行排序。這種技術被稱為Reciprocal Rank Fusion (RRF)。RRF假設:

       RRF允許人們通過不同的搜索方法來組合結果,這種模式通常被稱為“混合搜索”。

提供給RRF的各種搜索方法的不同之處僅在于它們如何到達它們的回憶集,而不是具有可供選擇的不相交的文檔集。至關重要的是,文檔首先必須有機會出現在單獨的回憶集中,然后才能通過相互出現來重新排序。

三、RAG-end2nd

       RAG的一個主要優勢是“不需要訓練任何模型”,它可以使用現成的嵌入模型和LLM來構建。

       RAG-end2nd[8]提出了Dense Passage Retrieval(DPR;“RAG”中的“R”)方法,對編碼器(比如BERTs)進行一些微調,性能超過BM25 25%。

四、LoRA

       LoRA是大模型微調的技術之一,它來自論文《LoRA: Low-Rank Adaptation of Large Language Models》[9],基本原理是凍結大模型參數,在原始模型中添加少量的可訓練參數AB矩陣來適應特定領域知識,由于微調的參數量較少,比較適合低資源的場景和用戶。

五、總結

       在這篇短文中,回顧了四種提高RAG管道相關性的技術。其中兩種依賴于分解原始查詢并利用LLM的生成能力,而另外兩種則致力于利用特定領域的知識進一步增強模型本身。

參考文獻:

[1] https://lmy.medium.com/four-ways-to-improve-the-retrieval-of-a-rag-system-91626ab2ad65

[2] https://docs.llamaindex.ai/en/stable/examples/query_engine/sub_question_query_engine.html

[3] https://github.com/Raudaschl/rag-fusion

[4] https://learn.microsoft.com/en-us/azure/search/hybrid-search-overview

[5] https://eugeneyan.com/writing/obsidian-copilot/

[6] https://obsidian.md/

[7] https://www.pinecone.io/learn/hybrid-search-intro/

[8] https://arxiv.org/abs/2210.02627

[9] https://arxiv.org/abs/2106.09685

本文章轉載微信公眾號@ArronAI

上一篇:

LLM之RAG理論(六)| 高級RAG指南和技巧

下一篇:

LLM之RAG理論(八)| 提高RAG性能的9種技術
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費