データベース編 第11章 / 全13章
ベクトルDBとは
Vector Database
特化型 ・ 生成AIと相性抜群地図の上に、意味の近いものほど近くに置いた付せん。「犬」の近くには「子犬」や「散歩」がある。
図とさわれるデモで確かめる →
ポイント
- 文章や画像を、AIで数百〜数千個の数字の並び(ベクトル)に変換して保存する
- 言葉が一致しなくても「意味が近いもの」を探せる
- 社内文書を生成AIに答えさせる仕組み(RAG)の土台になる
名前の由来
vector運ぶもの(ラテン語 vehere:運ぶ)→ 向きと大きさを持つ量
意味を「数字の並び(ベクトル)」に変えて保存し、近いものを探すDB。
仕事の現場では
「経費精算のやり方は?」と聞くと、規程集から関係する箇所を探して生成AIが答える――そんな社内AIアシスタントの裏側で使われています。
くわしく(正確な話)
- 文章をベクトルに変換することを埋め込み(エンベディング)と呼ぶ。
- 近さはコサイン類似度などで測る。
- 全部と比べると遅いので、近似最近傍探索(ANN)で高速化する。
- 専用DBのほか、PostgreSQL(pgvector)やAzure AI Search、OpenSearchでも扱える。
この章の用語(意味と語源)
- ベクトルDB Vector Database
意味を数字の並びに変えて保存し、意味の近いものを探すDB。
語源vector はラテン語 vehere(運ぶ)から。数学では「向きと大きさを持つ量」。
- 埋め込み(エンベディング) Embedding
文章や画像を、意味を表す数字の並びに変換すること。
意味が似ている文章ほど、似た数字の並びになります。
語源embed(埋め込む)。意味を数字の空間に「埋め込む」こと。
- RAG ラグ
社内資料などを検索してから、生成AIに答えさせる仕組み。
生成AIが知らない社内のことでも、関係する資料を先に探して渡すので、根拠のある答えが返せます。
覚えておく:検索 → 生成
語源Retrieval-Augmented Generation(取ってきた情報で強化した生成)の頭文字。retrieve は「猟犬が獲物を取ってくる」が元の意味。
- 生成AI Generative AI
文章や画像などを新しく作り出すAI。
語源generate(生み出す)。AI は Artificial Intelligence(人工の知能)の頭文字。
- コサイン類似度 / ANN Cosine Similarity / ANN
ベクトルの「近さ」の測り方と、それを速く探す工夫。
コサイン類似度は2つの矢印の向きがどれだけそろっているかで近さを測ります。ANNは、厳密さを少しゆずって高速に近いものを探す方法です。
語源cosine は三角関数の「余弦」。ANN は Approximate Nearest Neighbor(だいたいの一番近いお隣さん)の頭文字。
- pgvector ピージーベクター
PostgreSQLでベクトルを扱えるようにする追加機能。
語源pg(PostgreSQL)+ vector。