LLMs as a Reranker for RAG

Rewriter → Retriever

Query Rewriter (查詢重寫)
解決 query 太短、語意不足、詞彙不匹配(vocabulary mismatch)
常見輸出格式包含「改寫成更精準問題 / 關鍵字 / 直接生成一段 answer-like passage(HyDE 類)」

e.g. 改寫成更精準的問題
例:發票開立規則發票開立有哪些檢核規則?

e.g. 產生關鍵字(keywords)=> 適合 BM25 / sparse retrieval
例:發票規則開立驗收單字軌期別簽章上傳存證

新知識:answer-incorporated passage

生成一段「像答案」的 passage(HyDE 類)
概念是:先讓 LLM「假裝回答」一次,產生比較長的語意內容,再拿這段去做向量檢索,讓 embedding 更有訊號。

Retriever (檢索器)
Retriever 就是第一階段負責 從大量文件中撈出 Top-K 候選文件 的元件

e.g. 用 LLM 做 Data Augmentation(資料增強)

GitHub - RUC-NLPIR/LLM4IR-Survey: This is the repo for the survey of LLM4IR.


Reranker

Supervised Learning (監督式學習)
學「這對 (query, answerchunk) 是否可靠/相關」,常見型態:

Unsupervised Learning (非監督式學習)
用 LLM 靠 prompt 直接判斷哪篇比較相關,常見做法:

優點:快上線、零訓練資料
缺點:成本高、穩定性/一致性比較難控

Data Augmentation(資料增強)
用 LLM 產生 rerank 訓練資料,不一定直接 rerank,而是幫生資料:


Listwise reranker

LLM/模型不是「一篇一篇打分數」,而是一次看整份候選清單,直接輸出排序結果

常見方式對比:

在 LLM rerank 裡,Listwise 很常見的做法是 prompt 類似:

給你 Query + 多個候選文件(帶 INDEX),請輸出最相關的排序/TopK

Reasoning-intensive Rerankers

這是更進一步:不只排序,還要求模型「先推理再排序」

核心假設:
很多 query-doc 的相關性不是表面詞匹配,而是要經過推理(例如條件判斷、規則對齊、跨句整合)才能判斷「到底對不對」。

所以這類 reranker 會做類似:


openreview.net/pdf?id=HEBVEmK22u

Powered by Forestry.md