約2分

リランカー:検索候補を質問に近い順へ並べ直す工程

リランカーは、検索で集めた候補文書をもう一度並べ替えて、答えに近い順へ絞り直す仕組みです。

書類棚から広めに候補を集めてきたあと、質問に合う順に並べ直してくれる下読み係。リランカーは、検索で集めた候補の文書を、質問との相性でもう一度評価して順位を付け直す部品です。

ベクトル検索が意味の近さで候補を広く集める役だとすると、リランカーはその候補の順番を詰める役です。最初の検索では広めに拾い、リランカーで「この質問に本当に近い順」へ並べ替える。この二段構えにしておくと、限られた入力の枠に、関係の強い文書を優先して入れやすくなります。

使いどころは、たとえば次のような場面です。

  • RAG で候補は取れているのに、上位の並びが甘い
  • 似た文書が多く、どれを先に LLM へ渡すかで答えがぶれる
  • コンテキストウィンドウに入れられる件数が限られている
  • 検索の質を上げたいが、文書全体の作り直しはすぐにはできない

候補に入っていない文書は救えない

リランカーができるのは、すでに集まった候補の並べ替えだけです。元の検索で必要な文書が候補に入っていなければ、どれだけ並べ直しても出てきません。文書の区切り方(チャンク分割)が粗すぎると、並べ替える以前に良い候補が取れないこともあります。うまくいかないときは、検索の設計とセットで見直します。

リランカーを入れると精度は上がっても、返事が遅くなったり、費用が増えたりすることがあります。効果を測るときは、評価で「必要な文書が検索されたか」と「上位に来たか」を分けて見ます。上位に並んだ文書を出典として表示するなら、それが利用者にとって納得のいく資料になっているかまで確かめておきましょう。