基于博文 Advanced RAG Techniques: an Illustrated Overview 的學(xué)習(xí)和練習(xí)的記錄。
中文內(nèi)容可以查看博主@寶玉的譯文 高級(jí) RAG 技術(shù):圖解概覽 [譯]
系列筆記:
RAG 學(xué)習(xí)筆記(一)
RAG 學(xué)習(xí)筆記(二)
RAG 學(xué)習(xí)筆記(三)
搜索索引(第二部分)
豐富上下文
主要有兩點(diǎn):
- 檢索較小的文本塊來(lái)獲得更好的搜索質(zhì)量
- 增加文本塊周?chē)纳舷挛墓?LLM 推理
有兩種方式:
- 增加文本塊周?chē)木渥觼?lái)擴(kuò)展文本
- 通過(guò)遞歸的的方式,將文本分割為具有父子關(guān)系的大小塊烫幕。
句子窗口檢索
- 每個(gè)句子獨(dú)立 embedding溯职,可以提供很高的查詢(xún)準(zhǔn)確性渗勘。
- 獲得到最相關(guān)的句子践美,并在句子前后擴(kuò)展 K 個(gè)句子
- 將擴(kuò)展后的內(nèi)容做為上下文提供給 LLM股毫。
自合并檢索器(即父文檔檢索器)
- 將文檔分割成為具有父子關(guān)系的大小文本塊,較小的子文本塊引用較大的父文本塊达皿,只對(duì)子文本塊進(jìn)行 embedding
- 搜索較小子文本塊,如果前 k 個(gè)檢索結(jié)果中超過(guò) n 個(gè)結(jié)果屬于同一父文本塊较沪,就使用該父文本塊作為上下文提供給 LLM鳞绕。
深入了解資源:
融合檢索/混合搜索
傳統(tǒng)的基于關(guān)鍵字的搜索方法有:
現(xiàn)代檢索方法有:語(yǔ)義或者向量搜索方法
可以將傳統(tǒng)和現(xiàn)代方法結(jié)合起來(lái),將兩種類(lèi)方法的結(jié)果整合成一個(gè)檢索結(jié)果尸曼。
優(yōu)點(diǎn):融合/混合搜索結(jié)合了兩類(lèi)方法们何,同時(shí)考慮了語(yǔ)義相似度和關(guān)鍵詞匹配,通常會(huì)有更好的檢索結(jié)果
難點(diǎn):將不同打分規(guī)則獲得到的結(jié)果正確地整合排序
解決方法:倒序排序融合(Reciprocal Rank Fusion)
實(shí)現(xiàn):
動(dòng)手練習(xí):融合檢索 LangChian 實(shí)現(xiàn)