「電気代」で探して「再エネの買取制度」が出る検索を、月額ゼロで ― コミュロビの意味検索開発記
外部のAIサービスに1円も払わずに動いている意味検索を、自社サービス「コミュロビ」の実例で紹介。一語の検索に弱いモデルを捨てた理由、点数の「崖」で切る判定、ライブラリ755MB→60MB・読み込み12.2秒→0.73秒に軽くした方法と、社内検索にAIを入れる前に決めることをまとめました。
外部のAIサービスに1円も払わずに動いている意味検索を、自社サービス「コミュロビ」の実例で紹介。一語の検索に弱いモデルを捨てた理由、点数の「崖」で切る判定、ライブラリ755MB→60MB・読み込み12.2秒→0.73秒に軽くした方法と、社内検索にAIを入れる前に決めることをまとめました。
同じ「社内文書を検索できるAI」でも80万円と500万円の見積もりが並ぶのはなぜか。差を生むのは作る費用ではなく「かかり続ける費用」と前提の違いです。見積書で確かめる7つの項目と、依頼前に用意しておくと話が早い5つのことを、開発会社の立場から整理しました。
意味のない文字列が、意味のある無関係な質問より高い類似度を出し、しきい値を突破しました。なぜそうなるのかを768次元の実測で分解し、対処まで書きます。
自社サービスworry.teamのコーチ紹介で動いているRAGを、実測した類似度スコアごと公開します。単語が一致しなくても見つかる仕組みと、関係ない相談に「答えさせない」しきい値の決め方まで。
社内RAGの相談で最初に確認するのは「社内の文書を外に送っていいか」です。ここの答えで選べる構成が変わり、しかもあとから変えるのがとても高くつきます。ネット接続あり/社内ネットワーク完結/PC1台完結の3段階で、それぞれ何ができて何ができなくなるかを整理しました。
社内RAGをAWS Bedrockのマネージドで組むか、pgvectorで自前に持つか。「マネージドは楽、自前は安い」という説明をよく見ますが、両方を本番まで作ってみると、楽な部分と面倒な部分がきれいに入れ替わるだけでした。判断を決める3つの問いと、実際に差が出た4つの場所を書きます。
RAGの構築費用は、工数より「毎月かかり続けるもの」と文書の状態で決まります。固定費を作らない構成、見積もりが外れる理由、後から足せない権限とモデル差し替え、小さく始める順番までまとめました。
専用のベクトルDBを契約せず、すでに動いているPostgreSQLにpgvectorを入れてRAGを組む構成。次元数が後から変えられない理由、e5系のプレフィックス、HNSWとIVFFlatの選び分け、しきい値をギャップで切る方法、そして最も重い「埋め込みモデルを差し替える日」の入れ替え手順まで、Djangoの実コードで解説します。
ベクトル検索は「意味が近いか」しか見ていないため、閲覧権限のない文書も平気で返してきます。社内RAGが本番直前に必ずぶつかるこの壁を、Django+pgvectorの事前フィルタでどう塞ぐか。後フィルタが破綻する理由、絞り込むと件数が足りなくなるHNSWの罠、そして実装後も残る3つの漏洩経路まで書きます。
もうひとつの選択肢 / 自前構成 専用サービスを使わず、既存のPostgreSQ… 続きを読む »【後編】会社追加時のKB自動作成・同期(Ingestion)・監視の勘所