自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

RAPTOR 檢索樹再次進(jìn)一步提升RAG性能的設(shè)計(jì)思路 原創(chuàng)

發(fā)布于 2024-7-11 13:29
瀏覽
0收藏

大多數(shù)現(xiàn)有方法僅從檢索語料庫(kù)中檢索短的連續(xù)塊,限制了對(duì)整個(gè)文檔上下文的整體理解。RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)引入了一種新方法,即遞歸嵌入、聚類和總結(jié)文本塊,從下往上構(gòu)建具有不同總結(jié)級(jí)別的樹。在推理時(shí),RAPTOR 模型從這棵樹中檢索,整合不同抽象級(jí)別的長(zhǎng)文檔中的信息。RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)比傳統(tǒng)的檢索增強(qiáng)型 LM 性能與絕對(duì)準(zhǔn)確度上提高 20%。

開源地址:??https://github.com/parthsarthi03/raptor??

論文地址:??https://arxiv.org/abs/2401.18059??

一、RAPTOR 檢索樹的構(gòu)建過程

RAPTOR模型的精髓在于其樹狀結(jié)構(gòu)的構(gòu)建,這一過程通過精心設(shè)計(jì)的遞歸算法實(shí)現(xiàn),形成了一個(gè)層次分明的多層級(jí)樹形架構(gòu)。這種結(jié)構(gòu)不僅顯著提升了模型對(duì)長(zhǎng)文本信息的處理能力,更使得對(duì)復(fù)雜文本內(nèi)容的理解和檢索變得高效而精準(zhǔn)。通過遞歸的方式,RAPTOR能夠逐步細(xì)化文本信息的粒度,從而確保在多個(gè)層次上都能捕捉到關(guān)鍵信息,為后續(xù)的文本分析和應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。

下面我將對(duì)具體步驟進(jìn)行詳細(xì)的說明:

RAPTOR 檢索樹再次進(jìn)一步提升RAG性能的設(shè)計(jì)思路-AI.x社區(qū)

  1. 首先,需要對(duì)文本進(jìn)行合理的切片處理。這里需要注意選擇合適的切片算法很重要,建議參考主流框架的實(shí)現(xiàn)方案。
  2. 然后,RAPTOR 根據(jù)其語義embedding遞歸地對(duì)文本塊chunk進(jìn)行聚類,并生成這些聚類的文本摘要。
  3. RAPTOR采用軟聚類方法,允許文本塊跨多個(gè)聚類,基于高斯混合模型(GMMs)和UMAP技術(shù)進(jìn)行降維,以捕捉文本數(shù)據(jù)的復(fù)雜結(jié)構(gòu)和關(guān)系,從而優(yōu)化文本聚類效果。
  4. RAPTOR通過遞歸的向量分析,精準(zhǔn)地對(duì)文本塊進(jìn)行聚類,并提煉出這些聚類的核心摘要,自下而上地構(gòu)建出一個(gè)結(jié)構(gòu)化的樹形模型。在此樹中,相近的節(jié)點(diǎn)自然聚集形成兄弟關(guān)系,而它們的父節(jié)點(diǎn)則承載著整個(gè)集群的概要性文本信息。這種設(shè)計(jì)確保了文本信息的層次化和結(jié)構(gòu)化表達(dá),便于理解和檢索。

二、RAPTOR 的檢索過程

RAPTOR 檢索樹再次進(jìn)一步提升RAG性能的設(shè)計(jì)思路-AI.x社區(qū)

這里有兩種方式實(shí)現(xiàn),基于深度檢索樹(樹遍歷)廣度檢索樹(折疊樹)

  1. 深度檢索樹從樹的根級(jí)別開始,根據(jù)與查詢向量的余弦相似度檢索頂層的 top-k (這里為 top-1) 節(jié)點(diǎn)。在每一層,它根據(jù)與查詢向量的余弦相似度從上一層的 top-k 節(jié)點(diǎn)的子節(jié)點(diǎn)中檢索 top-k 節(jié)點(diǎn)。這個(gè)過程一直重復(fù),直到達(dá)到葉節(jié)點(diǎn)。最后,將所有選定節(jié)點(diǎn)的文本連接起來形成檢索到的上下文。
  2. 廣度檢索樹方法將整個(gè)樹壓縮成單一層,然后根據(jù)與查詢向量的余弦相似度評(píng)估所有層的節(jié)點(diǎn),直到達(dá)到設(shè)定閾值。

三、開源項(xiàng)目案例應(yīng)用示例

# 安裝,在使用 RAPTOR 之前,請(qǐng)確保已安裝 Python 3.8+??寺?RAPTOR 存儲(chǔ)庫(kù)并安裝必要的依賴項(xiàng):
git clone https://github.com/parthsarthi03/raptor.git
cd raptor
pip install -r requirements.txt


# 開始使用 RAPTOR,請(qǐng)按照以下步驟操作:
# 首先,設(shè)置您的 OpenAI API 密鑰并初始化 RAPTOR 配置:
import os
os.environ["OPENAI_API_KEY"] = "your-openai-api-key"


from raptor import RetrievalAugmentation


# Initialize with default configuration. For advanced configurations, check the documentation. [WIP]
RA = RetrievalAugmentation()


# 將您的文本文檔添加到 RAPTOR 進(jìn)行索引:
with open('sample.txt', 'r') as file:
    text = file.read()
RA.add_documents(text)


# 現(xiàn)在可以使用 RAPTOR 根據(jù)索引文檔回答問題:
question = "How did Cinderella reach her happy ending?"
answer = RA.answer_question(question=question)
print("Answer: ", answer)


# 將構(gòu)造好的樹保存到指定路徑:
SAVE_PATH = "demo/cinderella"
RA.save(SAVE_PATH)


# 將保存的樹重新加載到 RAPTOR 中:
RA = RetrievalAugmentation(tree=SAVE_PATH)
answer = RA.answer_question(question=question)

總結(jié)

RAPTOR在RAG中的優(yōu)化為我們提供了一個(gè)全新的視角和工具,使我們能夠更高效地利用海量信息,更精準(zhǔn)地檢索和生成高質(zhì)量的內(nèi)容。隨著技術(shù)的不斷進(jìn)步和完善,相信RAPTOR將在未來為我們帶來更多驚喜和可能性。注意以上是我個(gè)人的理解,如果想深入了解可以閱讀論文。


本文轉(zhuǎn)載自公眾號(hào)頂層架構(gòu)領(lǐng)域

原文鏈接:??https://mp.weixin.qq.com/s/8kt5qbHeTP1_ELY_YKwonA??



?著作權(quán)歸作者所有,如需轉(zhuǎn)載,請(qǐng)注明出處,否則將追究法律責(zé)任
標(biāo)簽
收藏
回復(fù)
舉報(bào)
回復(fù)
相關(guān)推薦