リランカー
リランカーとは、RAGパイプラインにおいてベクター検索の上位k件の結果を絞り込み、本当にもっとも関連性の高いチャンクが上位に来るように並べ替えるモデルです。第1段階の検索は「多くの候補を高速に見つける」ものであり、リランキングは「実際に引用する価値のあるものを選ぶ」ものです。
リランカーとは、RAGパイプラインにおいてベクター検索の上位k件の結果を絞り込み、本当にもっとも関連性の高いチャンクが上位に来るように並べ替えるモデルです。第1段階の検索は「多くの候補を高速に見つける」ものであり、リランキングは「実際に引用する価値のあるものを選ぶ」ものです。
なぜ重要なのか
ベクター検索のみによる取得では、意味的には似ているが実際には回答ではないチャンクが混ざってしまいます。CohereとAnthropicの研究によると、RAGパイプラインにリランカーを追加すると検索精度が平均で15~40%向上し、最終的なLLMの回答におけるハルシネーションを大幅に減らします。2026年には、主要なAI検索エンジン(Perplexity、ChatGPT Search、Gemini AI Mode)がすべて内部でリランカーを使用しています。
仕組み
RAGパイプラインは通常、2段階の検索を実行します。
- 検索: ベクターDBがエンベディングの類似度で上位50~100件のチャンクを返します。高速ですが粗いものです。
- リランキング: リランカーモデルがクエリと候補を一緒にスコアリングし、上位3~10件まで絞り込みます。遅いですが、はるかに正確です。
- 生成: 上位のチャンクがLLMのコンテキストに注入され、生成が行われます。
バイエンコーダ vs クロスエンコーダ
バイエンコーダ: エンベディングモデルが使うものです。クエリと文書を別々にベクトルへエンコードし、比較します。高速ですが、クエリと文書の細かな関係を見落とします。
クロスエンコーダ: リランカーが使うものです。クエリと文書を一緒に入力し、1回のフォワードパスでスコアリングします。遅いですが、はるかに正確です。
2段階検索の本質は、両者の強みを組み合わせることにあります。高速なバイエンコーダでフィルタリングし、精密なクロスエンコーダでリランキングします。
主要なリランカー
- Cohere Rerank: マネージドAPI、多言語対応で、本番のRAGでもっとも一般的な選択肢
- Voyage rerank: Anthropicが推奨する高性能なリランカー
- BGE Reranker: オープンソース、多言語対応(韓国語を含む)
- Jina Reranker: オープンソース、長い文書に強い
- LLM-as-reranker: GPT-4oやClaudeを直接リランキングに使う方法。最高の精度ですが、最高のコストがかかります
GEOへの示唆
リランカーは意味的な類似度以上のものを見るため、書き方にも影響します。
直接的な回答文: リランカーは、クエリとチャンクの関係から「回答らしさ」を検知します。「Xとは?」のセクションは「Xとは…です」で始めるべきです。
具体性と実用性: 具体的な数値や例を含むチャンクは、抽象的な説明よりも高くリランクされます。
ユーザーのクエリパターンを模倣する: 実際のユーザーがAI検索に尋ねる質問のような見出しは、リランカーがマッチさせやすくなります。
ノイズを削る: 冗長だったり繰り返しの多い段落はスコアが下がります。要点を前に出した、短く自己完結したセクションが勝ちます。
Sources: