コンテンツへスキップ

ベクトルデータベース

RAGで後から効いてくる費用——権限設計と、モデルを差し替える日

RAGの予算を壊すのは初期費用ではなく「あとで足そう」とした部分です。権限は文書単位ではなくチャンク単位で必要になるため、後から足すと分割からやり直しになります。再計算は数万件で数時間、数十万件で日単位。埋め込みモデルの差し替えも必ず来ます。後から足せるものと足せないものを整理しました。

濃紺の背景に、左側に高く積み上がった金色のブロックの塔、右側に低い塔があり、右の塔ではいくつかのブロックが輪郭だけになって消えている図

RAGの構築費用はいくらか——なぜ30万円台から始められるのか

社内RAGの相場は「小規模50〜200万円、運用は月5〜50万円」と言われます。ですがこの幅を作っているのは開発工数ではなく構成の選択です。埋め込みをローカル化しpgvectorを使えば追加の固定費は消え、小規模なら30万円台・保守は月1万円から始められます。そして予算を本当に壊すのは、初期費用ではない3つの場所です。

濃紺の背景にデータベースの円筒シンボルがあり、周囲に金色の点と線でベクトルのクラスターを表した図

Django × pgvector でRAGを自前構築する

専用のベクトルDBを契約せず、すでに動いているPostgreSQLにpgvectorを入れてRAGを組む構成。次元数が後から変えられない理由、e5系のプレフィックス、HNSWとIVFFlatの選び分け、しきい値をギャップで切る方法、そして最も重い「埋め込みモデルを差し替える日」の入れ替え手順まで、Djangoの実コードで解説します。

左から流れてくる書類が中央の格子状フィルターで絞られ、一部だけが右へ通過する図

社内RAGで「他部署の資料が見えてしまう」問題の解き方

ベクトル検索は「意味が近いか」しか見ていないため、閲覧権限のない文書も平気で返してきます。社内RAGが本番直前に必ずぶつかるこの壁を、Django+pgvectorの事前フィルタでどう塞ぐか。後フィルタが破綻する理由、絞り込むと件数が足りなくなるHNSWの罠、そして実装後も残る3つの漏洩経路まで書きます。