社内規約RAGチャットボット システム設計プラン

最終更新: 2026-03-01 レビュー反映済み: code-review-specialist による設計レビュー(2026-02-28)

概要

社員が社内規約・福利厚生・ルールを自由に問い合わせできる社内ポータル。 メインコンテンツとして、ローカルLLM(Ollama)を使ったRAGチャットボットを実装する。

絶対条件: データを社外に出さない(完全ローカル動作) 将来方針: パッケージ販売を見据え、拡張性・移植性を重視する v1.0方針: 各企業に個別Dockerインスタンスを構築するシングルテナント方式(マルチテナントは将来ロードマップに予約)

競合ポジション

ポジション製品例
社外クラウド送出・高額Glean, M365 Copilot, スマキテ
ローカル動作・日本語弱AnythingLLM, PrivateGPT, Onyx
本プロダクト(唯一の領域)完全ローカル × 日本語特化 × 規約バージョン管理

競合分析

最終更新: 2026-03-01

カテゴリA: オンプレ/ローカル型AIドキュメント検索(直接競合)

製品価格ローカルLLM日本語主な差異
AnythingLLM無料〜✅ Ollama対応△(LLM依存)UI整備済み。SudachiPyなし・日本語精度で劣る
PrivateGPT無料△(低品質)OSSだが日本語処理が弱い。開発継続性不明
Khoj無料〜個人用途向け。企業規模導入事例が少ない
Onyx(旧Danswer)無料〜有償横断エンタープライズサーチ特化。規約専門化なし
Dify(OSS)無料✅ Ollama対応✅ 日本語サイトありノーコードAIアプリPF。汎用的すぎて規約特化でない

カテゴリB: SaaS型ナレッジ管理(間接競合・データクラウド送出)

製品価格帯日本語主な差異
Glean年間3,900万円〜✅(NTTデータ販売)超高額・多SaaS横断・完全SaaS
Guru有償カード型ナレッジ管理。Slack/Teams連携強
Notion AI有償✅(2025〜改善)ワークスペース統合。規約バージョン管理なし
Confluence AI(Atlassian)有償アドオンAtlassianエコシステム依存

カテゴリC: 日本市場特化(最重要競合)

製品形態主な差異
スマキテ(新日本法規)SaaS最も近い競合。社内規約・就業規則特化・国産。ただし完全SaaS
PKSHA AI SaaSSaaSHR向けAI SaaS(2,600社導入)。高額
Cinnamon AI「Super RAG」SaaS内部知識検索対応。SaaS前提

カテゴリD: Microsoft/Googleエコシステム

製品差異
Microsoft 365 Copilot + SharePoint既存M365ユーザー向け。SaaS・高額ライセンス
Google Workspace + GeminiGoogle Drive統合。SaaS・クラウド前提

競合脅威マトリクス

脅威レベル
高  │ スマキテ   Dify+Ollama   M365 Copilot

中  │ Onyx      AnythingLLM   Notion AI

低  │ Glean     PrivateGPT    Google Gemini

    └──────────────────────────────────────
       オンプレ対応あり    SaaS専用

最大の競合脅威

  1. スマキテ(新日本法規) — 同一ターゲット(社内規約・就業規則)で国産SaaS。弱点:データ社外送出・SaaS前提
  2. Dify + ローカルLLM — 無料・Docker対応・日本語サポート。弱点:汎用PFで規約特化機能なし
  3. Microsoft 365 Copilot — 既存M365導入企業への侵食リスク。弱点:高額・クラウド前提

差別化ポイント(競合不在領域)

差別化軸内容
完全ローカル動作データが社外に一切出ない(規模を問わず実現)
日本語特化精度SudachiPy + japanese-reranker。他のオンプレ製品が未実装
規約バージョン管理ドキュメント更新履歴・復元機能を内蔵。スマキテより高機能
監査ログ誰がいつ何を聞いたか記録(コンプライアンス対応)
低コスト導入Mac Studio M4 Max 1台(~¥444,800)。月額電気代 ~¥1,000(50W常時稼働想定・¥27/kWh)
パッケージ販売docker-compose up 1発で導入完了

まとめ: 「完全ローカル × 日本語特化 × 社内規約バージョン管理」を満たす直接競合は存在しない。 差別化を守るには日本語RAG精度の継続改善(Phase 9)と規約管理機能の充実が鍵。 最大潜在脅威はDify: 無料・Docker対応・日本語対応が改善中のため動向注視が必要。


マシン構成・実行環境

採用機種の選定経緯(PC比較)

詳細比較(Mac Studio M3 Ultra・Mac Pro・NVIDIA GPU含む)は PLAN_08 Hardware を参照。

LLM推論速度の最大のボトルネックは メモリ帯域幅。帯域が広いほどトークン生成が速い。

#機種チップRAM帯域概算価格推奨LLMtok/s採用
1Mac miniM4 Pro 12C/16G24GB273 GB/s~¥199,000gemma3:12b~30— メモリ不足気味
2Mac miniM4 Pro 14C/20G48GB273 GB/s~¥339,000gemma3:12b~35— 帯域がボトルネック
3Mac miniM4 Pro 14C/20G64GB273 GB/s~¥450,000gemma3:27b~15-20— 遅め
4Mac StudioM4 Max 14C/32G36GB546 GB/s¥328,800gemma3:12b~55— メモリ余裕が少ない
5Mac StudioM4 Max 16C/40G48GB546 GB/s~¥444,800gemma3:27b~30-40✅ 採用
6Mac StudioM4 Max 16C/40G64GB546 GB/s~¥560,000gemma3:27b~35-45— コスパで5に劣る
7Mac StudioM4 Max 16C/40G128GB546 GB/s~¥870,000llama3.3:70b~15-25— 予算オーバー

採用理由(#5 Mac Studio M4 Max 48GB): M4 Max の 546 GB/s 帯域で gemma3:27b が 30〜40 tok/s を確保。同価格帯の Mac mini M4 Pro 64GB(#3)と比べて LLM 速度が約2倍。予算・性能・メモリ余裕のバランスが最良。

LLMモデル比較(採用ハードウェア前提)

LLMが使えるメモリ上限の試算(48GB中): 48GB − システム9GB − Embedding2.5GB − Reranker2GB − FastAPI1GB − PostgreSQL0.5GB − ChromaDB1GB ≈ ~32GB

モデルメモリ (Q4_K_M)日本語品質tok/s(M4 Max)48GB搭載可否採否
gemma3:27b~17GB★★★★★30〜40✅ 余裕あり推奨(デフォルト) Google製・128K文脈・日本語精度トップクラス
qwen2.5:32b~19GB★★★★★26〜34✅ 余裕あり🔁 有力な代替候補。日本語品質はgemma3と拮抗。Alibaba製・Apache 2.0
qwen3:30b~19GB★★★★★26〜34✅ 余裕あり🔁 Qwen最新版(2025)。思考モード(thinking ON/OFF)あり
gemma3:12b~8GB★★★★55〜60✅ 余裕あり⚡ 速度優先フォールバック。品質は27bに劣るが十分実用的
llama3.3:70b~40GB★★★★10〜15❌ 上限~32GB超過❌ 48GB環境では搭載不可(128GBモデルなら可)
qwen2.5:72b~43GB★★★★★8〜12❌ 上限~32GB超過❌ 48GB環境では搭載不可(128GBモデルなら可)
llama3.1:8b~5GB★★★75〜90✅ 余裕あり❌ 速度は最速だが日本語の複雑な質問・長文理解に弱くRAG用途では非推奨

モデル変更は容易: ollama pull <model>.envOLLAMA_MODEL を変更 → FastAPI 再起動のみ。Embeddingモデルと異なりDBへの影響はゼロ。 詳細な比較・切り替え手順は PLAN_02 を参照。

ハードウェア

機器スペック役割
Mac Studio M4 Max48GB RAM / 1TB SSD / 16コアCPU・40コアGPU・16コアNeural Engine / メモリ帯域 546 GB/s / 概算 ¥444,800メインサーバー
NAS2TBアップロード元ファイル(PDF/Word/Excel)のみ格納

採用構成:AIはホスト直接起動、DBはDocker

Mac上のDockerはLinux VMを経由するためMetal GPU(MPS/Neural Engine)にアクセスできない。 LLM推論・Embedding・Rerankerすべてがホスト直接起動必須。PostgreSQL・ChromaDBはDockerで管理。

Mac Studio M4 Max(ホスト直接起動)
├── ollama serve           → Metal GPU(LLM推論 gemma3:27b で 30〜40 tokens/sec)
├── uvicorn app.main:app   → Metal MPS(Embedding / Reranker、546 GB/s帯域)
└── Docker(named volume のみ)
    ├── PostgreSQL 16      → named volume: postgres_data
    └── ChromaDB           → named volume: chromadb_data

NAS (2TB)
└── アップロード元ファイル(PDF/Word/Excel)のみ

メモリ配分の概算(48GB中)

コンポーネント推定使用量備考
macOS + システム~9GBDocker Desktop Linux VMオーバーヘッド(~2〜3GB)込み
Ollama(gemma3:27b)~17GBQ4_K_M量子化・RAG用途推奨モデル。旧gemma2:9bより日本語精度大幅向上
multilingual-e5-large~2.5GBFP32ロード・MPS使用時
japanese-reranker~2GBcross-encoder-large、FP32ロード・MPS使用時
FastAPI + その他~1GBLlamaIndex・SQLAlchemy・SudachiPy辞書込み(シングルワーカー時)
PostgreSQL(Docker)~0.5GBnamed volume・軽負荷時
ChromaDB(Docker)~1GBHNSWインデックス・10万チャンク想定
合計~33GB
余裕~15GB

⚠️ 本番マルチワーカー時の注意: Gunicorn + Uvicornで複数ワーカーを起動すると、各ワーカーがEmbedding/Rerankerを個別にロードする。4ワーカー時はEmbedding+Rerankerだけで(2.5+2.0)×4=18GB。gemma3:27bは17GB固定。合計35GB → 48GBで余裕13GB。→ Phase 10でモデル共有設計が必要(詳細はPhase 10 TODO参照)。

💡 速度について: M4 Max は546 GB/s帯域のため gemma3:27b30〜40 tok/sを確保。速度優先なら gemma3:12b(~8GB, ~55-60 tok/s)も選択肢。