ベクトル検索(Vector Search)は、文書や質問を埋め込みベクトルに変換し、意味的に近いベクトルを高速に探し出す検索です。本記事はRAG全体の設計ではなく、Retrieval(検索)段階の流れ——何と何を比較するか——に焦点を当てます。
試験で問われる見方
ベクトル検索単独の定義穴埋めは少ないですが、埋め込みの近さで関連文書を探すという理解が、ベクトルデータベース(TF-0232)やRAGの説明とセットで問われます。
混同注意:「文書を小さく分割したもの」はチャンク(チャンキング)、「検索しながら生成する手法」はRAG(HQ-0370)。ベクトル検索はその中間の検索方式です。
演習で確認する
ベクトル検索とは
従来のキーワード検索が語の一致を重視するのに対し、ベクトル検索は意味の近さで関連文書を並べます。「退職金の計算」と「退職時の支給額」が語彙は違っても近いベクトルになる、といったケースで有効です。
各文書チャンクは埋め込みモデルでベクトル化され、ベクトルデータベースに格納されます。質問も同じモデルでベクトル化し、コサイン類似度などで近傍(nearest neighbor)を探索します。
RAGでの流れ
キーワード検索との違い
| 方式 | 得意なこと | 弱み |
|---|---|---|
| キーワード(BM25等) | 固有名詞・型番の完全一致 | 言い換えに弱い |
| ベクトル検索 | 意味的な言い換え・類似表現 | 短いクエリ・数値だけだと外しやすい |
| セマンティック検索 | 意味に基づく検索(概念) | 実装はベクトル検索が多い |
実務ではハイブリッド検索(キーワード+ベクトル)を採用することも多いです。
品質を左右する要因
よくある質問
ベクトル検索=RAG?
いいえ。ベクトル検索はRAGの検索段階で使われる手法の一つです。
ベクトル検索=ベクトルDB?
DBは格納・検索の基盤、ベクトル検索は検索の方式です。多くの場合セットで使います。
LLMそのものが検索する?
RAGでは別コンポーネントが検索し、結果をLLMに渡す構成が一般的です。