基于博文 Advanced RAG Techniques: an Illustrated Overview 的學(xué)習(xí)和練習(xí)的記錄。
中文內(nèi)容可以查看博主@寶玉的譯文 高級 RAG 技術(shù):圖解概覽 [譯]
系列筆記:
RAG 學(xué)習(xí)筆記(一)
RAG 學(xué)習(xí)筆記(二)
RAG 學(xué)習(xí)筆記(三)
搜索索引(第二部分)
豐富上下文
主要有兩點(diǎn):
- 檢索較小的文本塊來獲得更好的搜索質(zhì)量
- 增加文本塊周圍的上下文供 LLM 推理
有兩種方式:
- 增加文本塊周圍的句子來擴(kuò)展文本
- 通過遞歸的的方式,將文本分割為具有父子關(guān)系的大小塊。
句子窗口檢索

句子窗口檢索
- 每個(gè)句子獨(dú)立 embedding,可以提供很高的查詢準(zhǔn)確性。
- 獲得到最相關(guān)的句子,并在句子前后擴(kuò)展 K 個(gè)句子
- 將擴(kuò)展后的內(nèi)容做為上下文提供給 LLM。
自合并檢索器(即父文檔檢索器)

父文檔檢索器
- 將文檔分割成為具有父子關(guān)系的大小文本塊,較小的子文本塊引用較大的父文本塊,只對子文本塊進(jìn)行 embedding
- 搜索較小子文本塊,如果前 k 個(gè)檢索結(jié)果中超過 n 個(gè)結(jié)果屬于同一父文本塊,就使用該父文本塊作為上下文提供給 LLM。
深入了解資源:
融合檢索/混合搜索
傳統(tǒng)的基于關(guān)鍵字的搜索方法有:
現(xiàn)代檢索方法有:語義或者向量搜索方法
可以將傳統(tǒng)和現(xiàn)代方法結(jié)合起來,將兩種類方法的結(jié)果整合成一個(gè)檢索結(jié)果。

融合檢索/混合搜索
優(yōu)點(diǎn):融合/混合搜索結(jié)合了兩類方法,同時(shí)考慮了語義相似度和關(guān)鍵詞匹配,通常會(huì)有更好的檢索結(jié)果
難點(diǎn):將不同打分規(guī)則獲得到的結(jié)果正確地整合排序
解決方法:倒序排序融合(Reciprocal Rank Fusion)
實(shí)現(xiàn):
動(dòng)手練習(xí):融合檢索 LangChian 實(shí)現(xiàn)