【べくとるでーたべーす】

ベクトルデータベース とは?

最終更新:
💡 数値の並びの近さから、関連するデータを探す

ベクトルを保存し、距離や類似度に基づいて近いものを検索するデータベース。文章や画像の埋め込みを使った検索などに利用し、検索結果の意味的な近さはモデルや比較方法によって変わる。

📌 このページのポイント
ベクトルの近さから元のデータを探す 文書・画像 埋め込みモデル 変換 ベクトルとIDを保存 例:[0.2, 0.8] 質問も同じモデルで変換 検索ベクトル [0.3, 0.7] 距離・類似度で比較 近いベクトル 対応する文書A 対応する文書B 意味的な近さはモデルなどで変わる 厳密検索と近似検索を使い分ける
埋め込みと検索の構成例。数値は説明用で、文書A・Bの順位や検索精度を測定した結果ではない。
ひよこ ひよこ
ベクトルデータベースって何を保存するの?
ペンギン先生 ペンギン先生
ベクトルという数値の並びを保存するよ。例えば文書を埋め込みモデルでベクトルに変換し、文書のIDなどと関連付けて保存する。検索するときは質問も同じモデルで変換して、近いベクトルを探すんだ。
ひよこ ひよこ
近ければ必ず意味が同じなの?
ペンギン先生 ペンギン先生
必ずではないよ。モデルがどんな特徴を数値にするかや、どの距離・類似度で比較するかに左右される。文章の検索にも画像の類似検索にも使えるけれど、結果が目的に合うかは確かめる必要があるんだ。
ひよこ ひよこ
全部のベクトルと比べるの?
ペンギン先生 ペンギン先生
方法によるよ。pgvectorでは既定で厳密な最近傍検索を行い、近似検索用のインデックスも選べる。近似検索は検索速度と結果の再現率などの間で調整するもので、必ず厳密な検索と同じ結果になるわけではないんだ。
ひよこ ひよこ
RAGではどう使うの?
ペンギン先生 ペンギン先生
質問に近い文書を探し、その文書を生成AIに渡す構成で使えるよ。ベクトル検索は数値の近さに基づく検索だから、取得した文書の内容が正しいか、回答の根拠として適切かは別に確かめよう。
ひよこ ひよこ
SQLデータベースとは別物を用意する必要がある?
ペンギン先生 ペンギン先生
専用のシステムを使う方法のほか、PostgreSQLにpgvectorを追加する方法もあるよ。pgvectorではSQLの条件や結合などとベクトル検索を組み合わせられる。専用製品が常に速いと決めず、データ量や必要な機能、運用に合わせて選ぶんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「ベクトルデータベース」って出てきたら「ベクトルの近さで関連するデータを探せるデータベース」と思えばだいたいOK!
📖 おまけ:英語の意味
「Vector Database」 = ベクトルを扱うデータベース
💬 Vectorはここでは数値の並びを指すよ。距離や類似度に基づく検索を、データの保存・管理と組み合わせて利用するんだ。

参考資料

← 用語集にもどる