ベクトルDBと埋め込み(Embeddings)— セマンティック検索の基盤
埋め込み(embedding)はテキストや画像を意味を表す数値ベクトルに変換する技術である。ベクトルDB(vector database)はその大量ベクトルを格納し近傍検索を高速に行うことで、RAG(後述)やセマンティック検索(=意味的類似検索)を実現する。
埋め込み(Embedding)とは
- テキストや画像を数値の列(ベクトル)に変換し、意味を座標空間で表現する。
- 「dog」と「cat」は近傍に、「dog」と「economics」は遠方に配置される。
- 次元数(数値の個数)は一般的に数百から数千である。
ベクトルDB(Vector Database)とは
- 大量のベクトルを格納し、「意味的に近い上位N件」を返す専用ストアである。
- ANN(近似最近傍探索=わずかな精度を犠牲に劇的な速度向上を得る手法)を活用する。
- 主要製品は Pinecone(フルマネージド型のSaaS=運用まで含めて提供されるクラウドサービス)、Qdrant(Rust製・高速)、pgvector(PostgreSQL拡張)、Chroma(ローカル開発向けの軽量な製品)である。
RAGにおける役割
- RAG(Retrieval-Augmented Generation=外部知識を検索し大規模言語モデルに渡して回答させる手法)の基盤がベクトルDBである。
- 流れはこうなる。文書を埋め込み、DBに蓄積し、質問を埋め込み、近傍文書を取得し、大規模言語モデル(LLM)が回答を生成する。
- 学習時に存在しなかった情報(社内文書・最新ニュース)をLLMに参照させられる。
埋め込みを作るサービスとツール
- 有料APIには Voyage AI(Anthropic公式ドキュメントが推奨する)、OpenAI Embeddings、Cohere Embed(多言語対応)、Google Gemini Embeddings がある。
- ローカル・OSS(オープンソースソフトウェア)には Ollama(自分のPCでモデルを実行できる、Metaとは独立したOSS)、sentence-transformers(PythonライブラリでHuggingFaceのモデルを利用する)がある。
- ゼロコストで試すなら、Chroma と Ollama をローカルで組み合わせるのが最速である。
埋め込みは意味を数値化し、ベクトルDBが近傍を高速に探す。この組み合わせがRAGとセマンティック検索の核心である。
関連ノート
- Browser Automation MCP 2026 — Comparing Playwright, chrome-devtools and agent-browser
- A tidy-up of the Claude Agents specifications
- "how does <filepath> work?" — Claude Code's placeholder prompt
- Claude Code's CLAUDE.md hierarchy — which instructions reach how far
- Does Claude Code's Spawn (parallel subagent launch) really run in parallel?
- Claude Mythos and Oceanus — the cutting edge and its "version for everyone"