コンテンツへスキップ

社内システム

オフィスでノートPCを使う会社員と、ガラス壁の向こうのサーバーラックを金色の光の線が結び、窓の外には線が伸びていない図

社内RAGを「どこまで閉じるか」——ネット接続あり・社内ネットワーク完結・PC1台完結

社内RAGの相談で最初に確認するのは「社内の文書を外に送っていいか」です。ここの答えで選べる構成が変わり、しかもあとから変えるのがとても高くつきます。ネット接続あり/社内ネットワーク完結/PC1台完結の3段階で、それぞれ何ができて何ができなくなるかを整理しました。

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

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

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

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

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

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