RAGで後から効いてくる費用——権限設計と、モデルを差し替える日
RAGの予算を壊すのは初期費用ではなく「あとで足そう」とした部分です。権限は文書単位ではなくチャンク単位で必要になるため、後から足すと分割からやり直しになります。再計算は数万件で数時間、数十万件で日単位。埋め込みモデルの差し替えも必ず来ます。後から足せるものと足せないものを整理しました。
RAGの予算を壊すのは初期費用ではなく「あとで足そう」とした部分です。権限は文書単位ではなくチャンク単位で必要になるため、後から足すと分割からやり直しになります。再計算は数万件で数時間、数十万件で日単位。埋め込みモデルの差し替えも必ず来ます。後から足せるものと足せないものを整理しました。
社内RAGの相場は「小規模50〜200万円、運用は月5〜50万円」と言われます。ですがこの幅を作っているのは開発工数ではなく構成の選択です。埋め込みをローカル化しpgvectorを使えば追加の固定費は消え、小規模なら30万円台・保守は月1万円から始められます。そして予算を本当に壊すのは、初期費用ではない3つの場所です。
専用のベクトルDBを契約せず、すでに動いているPostgreSQLにpgvectorを入れてRAGを組む構成。次元数が後から変えられない理由、e5系のプレフィックス、HNSWとIVFFlatの選び分け、しきい値をギャップで切る方法、そして最も重い「埋め込みモデルを差し替える日」の入れ替え手順まで、Djangoの実コードで解説します。
ベクトル検索は「意味が近いか」しか見ていないため、閲覧権限のない文書も平気で返してきます。社内RAGが本番直前に必ずぶつかるこの壁を、Django+pgvectorの事前フィルタでどう塞ぐか。後フィルタが破綻する理由、絞り込むと件数が足りなくなるHNSWの罠、そして実装後も残る3つの漏洩経路まで書きます。
前編では「問い合わせ(RAG実行)」の実装について解説しました。後編となる本記事… 続きを読む »【後編】会社追加時のKB自動作成・同期(Ingestion)・監視の勘所
現在、多くのプロダクトでRAG(検索拡張生成)の導入が進んでいますが、Djang… 続きを読む »【前編】DjangoからAWS Bedrock Knowledge Bases (RAG) を呼び出す実装例
はじめに 皆さんは、Webサイトの入力フォームが単なるテキストボックスだけで物足… 続きを読む »TinyMCEで始めるリッチテキスト入門:Djangoでの使い方を徹底解説!
Django 3.x から 5.x へアップグレードしたらS3の画像が表示されな… 続きを読む »Django 3.x から 5.x へアップグレードしたらS3の画像が表示されなくなった時の対処法
DjangoでWebアプリケーションを開発している皆さん、テンプレートやビューの… 続きを読む »そのURL、まさか直接書いてねーよな!DjangoでURL管理を「安全に」行うべき理由
Django管理画面をスタイリッシュにカスタマイズ!コピペで使えるJAZZMIN… 続きを読む »Django管理画面をスタイリッシュにカスタマイズ!コピペで使えるJAZZMIN設定の完全ガイド