ベクトルデータベース

VECTOR DATABASE
読み: ベクトルデータベース

読み: ベクトルデータベース

ベクトルDBとは意味検索の基盤技術

テキストや画像などの非構造化データをAIが処理しやすい数値の配列に変換し、意味の近さで高速に検索するための専用データベース。LLMの外部記憶として機能しRAGを構築する際の要となる技術。

かんたんに言うと

図書館の蔵書をタイトルや著者名ではなく、本が持つ雰囲気やテーマの近さで本棚に並べ直すようなもの。キーワードを知らなくても欲しい情報にたどり着ける。

キーワード一致では限界が来る非構造化データ検索の突破口

法務部門の契約書審査や人事部門の過去の面接記録など、企業内に眠るテキストデータの多くは非構造化データである。これらをLLMに読み込ませてRAGを構築する際、単なるキーワード検索では限界が来る。表記揺れや文脈の違いを吸収できないからである。
ここでベクトルデータベースの出番となる。
テキストをEmbeddingモデルで数値の配列に変換し、意味的な近さで検索できるようにする。PineconeやMilvusといった専用データベースが市場を牽引しているが、最近はPostgreSQLの拡張機能であるpgvectorで済ませるケースも増えた。専用品と汎用品のどちらを選ぶべきか。現場のアーキテクトとしては悩ましい。

Embeddingと類似度検索によるデータ処理の仕組み

テキストや画像はベクトル空間上の座標として配置される。コサイン類似度などの計算手法を用いて、入力されたクエリと近い位置にあるデータを高速に見つけ出すのがANN検索である。
理屈は単純だが、運用はそう甘くない。
次元数が1536や3072といった高次元ベクトルを数千万件扱うと、メモリ消費量が跳ね上がる。インデックスのビルドにも時間がかかる。検索精度と速度のトレードオフをどう調整するか。HNSWアルゴリズムのパラメータチューニング一つでシステムのレスポンスが劇的に変わる。このあたりの泥臭い調整を誰がやるのか。

現場の活用シーンと代表的なツール

営業部門の提案書検索や、製造業における過去の不具合報告書の類似検索などで実運用が進んでいる。
ツール選びはプロジェクトの命運を分ける。
フルマネージドで手間いらずのPineconeは立ち上げが早いが、データ量が増えるとコストが重くのしかかる。オンプレミス環境で機密性の高い製造データを扱うならMilvusやQdrantのセルフホスト一択になるだろう。Weaviateはスキーマ定義が独特で学習コストがかかるが、ハイブリッド検索の精度は高い。どのツールも一長一短があり、ユースケースに合わせた選定は本当に判断が分かれる。

従来型データベースとの比較から見る限界

RDBやElasticsearchのような従来の検索エンジンを完全に置き換えるものではない。
ベクトル検索は意味を捉えるのが得意だが、特定のIDや日付での完全一致検索は苦手である。法務の契約書検索で「2023年4月1日以降」という条件をベクトル空間だけで処理するのは無理がある。
だからこそ、メタデータフィルタリングとベクトル検索を組み合わせたハイブリッド検索が主流になっている。ただ、Elasticsearchもバージョン8以降でベクトル検索機能を強化してきた。既存のインフラがElasticsearchなら、わざわざ新しいベクトルデータベースを導入すべきか。運用コストを考えると足踏みする。

自社システムへ組み込むための評価基準

導入の決め手は何か。
APIの使いやすさやクラウドサービスの利便性に目を奪われがちだが、実運用でネックになるのはデータの更新頻度とレイテンシである。営業の商談記録がリアルタイムでベクトル化され、即座に検索可能になる必要があるのか。それとも夜間バッチで十分なのか。
要件次第でアーキテクチャは全く異なる。
機密情報を扱うならVPC内での閉域網接続が必須になる。クラウドのマネージドサービスが要件を満たせない場合、自社でインフラを構築運用する覚悟があるか。技術の進化が早い領域だけに、特定のベンダーにロックインされるリスクも考慮しなければならない。

当社の見解

当社はAI長期記憶システムを自社開発・運用している。開発のきっかけは、AIと経営戦略の壁打ちで出した結論がセッション切れで消えたことで絶望を感じた。1日かけて議論してきたことを振り返り、では事業計画書に落とし込むように指示を出したところ、「そのような記録はありません」と言われたことで、強烈な危機感を覚えこれは何としても解決しなければならない問題だと感じた。記憶がないAIは毎朝記憶喪失になる新入社員と同じだ。記憶があるAIは、前提条件を理解した上で本題に入れる。短いプロンプトで済むようになり、「前に言ったように実行して」と曖昧で短いプロンプトでも業務を遂行してくれる。同じことを繰り返し伝える回数も減り、開発業務でも同じミスを繰り返しにくくなり、人間の手戻りが減り、ストレスも減る。AIで本当に業務の質を上げるならば、記憶はマストである。

同じ失敗を二度としないAIエージェント

今のAIは、聞けば何でも答えてくれます。
でも、セッションが切れた瞬間に前回の失敗を忘れます。

当社が開発しているAIは、過去の経緯を念頭に置いて、
聞かれる前に「それは前回うまくいきませんでした」と声をかけます。
人間にも同じ失敗をさせず、AI自身も繰り返しません。

古参の社員が横にいるように、黙っていても気づいてくれる。
それが、当社が考える本当のAI社員です。

相談する