ひとことで言うと
ベクトル検索は、文章を数値化した位置関係を使って、意味の近い文書を探す検索方法です。
どんな場面で使うか
- RAG で質問に近い社内資料を引きたいとき
- FAQ の表現が少し違っても、似た問い合わせを見つけたいとき
- キーワードが一致しない言い換え表現も拾いたいとき
- 長文資料から関連箇所の候補を先に絞り込みたいとき
前段で文書を チャンク分割 しておくと、必要な段落単位で候補を返しやすくなります。
キーワード検索だと、同じ単語が入っていない文書は漏れやすいです。ベクトル検索は、エンベディング で表した意味の近さを使うため、言い回しが違っても候補に上げやすくなります。
キーワード検索との違い
- キーワード検索: 同じ単語が含まれているかを主に見る
- ベクトル検索: 単語が違っても、意味の近さで探しやすい
ただし、意味の近さだけで選ぶため、業務上は違う文書が混ざることもあります。完全な置き換えではなく、使い分けや併用が前提です。
実務で気にするポイント
- 元文書の チャンク分割 が粗すぎると、欲しい箇所に当たりにくい
- エンベディング モデルの選び方で得意な検索対象が変わる
- 上位候補の並びが甘い時は、リランカー を挟んで再順位づけする構成も検討する
- 上位に出た文書が本当に答えに必要か、人の目や評価データで確認する
- 検索結果が多すぎると コンテキストウィンドウ を圧迫する
注意: ベクトル検索は「関連しそうな候補を探す」仕組みです。検索で近い文書が取れても、そのまま正答になるとは限らないため、回答生成や評価は別に見る必要があります。