til//vector-database-and-embeddings
vector-database-and-embeddings.mdupdated 2026-08-011,028 chars

ベクトル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と​セマンティック検索の​核心である。

148 notestil