Re-Rank
https://scrapbox.io/files/6631d69f63f35e002399b7da.png
https://fintan.jp/page/10301/
RAGによって返された結果を、再度並べ替えることで精度を高める手法
Retrieverによって取得された複数の文書を、クエリに対する関連度を別ベクトルを用いて高い順に並べ替える手法。
これによって検索の精度があがり、チャットボットの回答精度が上がることが期待できる。
なぜ精度が上がる?
RAGがベクトル間の類似度を比較して検索結果を決定する際に、データベース内のデータ量が膨大であるため、各ベクトル間の類似度をすべて計算してから決めると、ものすごい時間がかかる。
そのため、基本的にはクイックソートで、ある程度の類似度(例えば99%,95%)を持つチャンクならすべて抽出し、そこからランダムにいくつかを選ぶというやり方をとる。
これにより処理速度は向上するが、当然精度もその分落ちてしまう。
そこで、Rerankすると、得られた結果を再度並べ替えるので、RAGの精度を向上させることも可能です。
参考
https://qiita.com/xxyc/items/9f05241e5add3b005b91
https://www.llamaindex.ai/blog/boosting-rag-picking-the-best-embedding-reranker-models-42d079022e83