RAG入門:AIに知識を与える技術
代表的なベクトルデータベース:Pinecone, ChromaDB, Weaviateなど
製品を並べ始めると、いつまでも決まらない
ベクトルを保存して近い順に取り出す仕組みは、専用のデータベースが引き受けます。ここで多くの人が、まず製品の一覧表を作ろうとします。Pinecone、Chroma、Weaviate、Qdrant、Milvus、pgvector と並べ、機能と料金を埋めていく作業です。
この表は作らないでください。この分野は動きが速く、顔ぶれも料金体系も 1 年で入れ替わります。無料枠の条件も、対応している検索方式も変わります。半年かけて作った比較表が、次の期にはもう根拠として使えません。
そのうえ、調べれば調べるほどどれも良さそうに見えてきます。どの製品も、自分の得意な条件で比較表を公開しているからです。
代わりに決めるのは、要件の側です。要件は 1 年で変わりません。次の 3 つに答えを出すと、候補はだいたい 1 つか 2 つに絞れます。
自分で面倒を見るのか、任せるのか
いちばん大きな分かれ目がここです。
任せる側を選ぶと、サーバーの構築もスケールもバックアップも向こうがやってくれます。API を呼ぶだけで動き、件数が増えても速度が落ちにくい。その代わり従量課金で、データは社外に置くことになります。機密資料を外に出せない決まりがあるなら、この時点で選択肢から外れます。Pinecone のようなサービスがこちら側です。
自分で持つ側を選ぶと、ライセンス費用はかからず、データも手元から出ません。その代わり、件数が増えたときのメモリ管理も、サーバーの冗長化も、障害時の復旧も、自分の仕事になります。Chroma のようにローカルですぐ動くものは、検証段階では圧倒的に手が速い。
判断の順番としては、まず社内規程で外部に出せるかを確認し、次に運用に手をかけられる人がいるかを見ます。この 2 つが決まれば、片側は自動的に消えます。逆に言うと、この 2 つを確認せずに製品を比べても意味がありません。
件数と、いま持っている DB を数えてから選ぶ
2 つ目の軸はデータ量です。数万件までなら、正直どれを選んでも動きます。ここで凝った選定に時間をかけるより、まず動かして検索の質を見るほうが得るものが多いはずです。
数百万件を超えるあたりから、索引の作り方やメモリの載せ方の差が体感速度に出てきます。今の件数ではなく、資料を増やし続けた 2 年後の件数で見積もってください。移行は、データを全部ベクトルにし直す作業を伴います。
3 つ目の軸は、いま使っているデータベースに相乗りできないかです。これが見落とされがちです。すでに PostgreSQL を運用しているなら、pgvector という拡張を入れるだけでベクトル検索ができます。監視も、バックアップも、権限管理も、既存の仕組みがそのまま使えます。障害対応の手順書を新しく書かなくて済むことの価値は、機能表には出てきません。
数万件規模で、すでに RDB を運用していて、検索が主役ではないサービスなら、相乗りがいちばん軽い答えになることが多いはずです。
なお、どれを選んでも乗り換えられないわけではありません。ただし乗り換えには全件のベクトルを入れ直す作業がついてきます。件数が増えてからでは時間も費用もかさむので、軽く見積もらないでください。まずはこの 3 つに答えを書き出してから、製品名を調べ始めてください。順番を逆にすると、比較表だけが残ります。
復習ミニクイズ
あなたは現在、RAGを用いた社内チャットボットを開発しています。「まずは手元のPC環境で、ライセンス費用をかけずに素早くプロトタイプを動かしたい」という要件がある場合、本レッスンの解説に基づくと、どのデータベースを選択するのが最も適切ですか?