信頼できる文書ライブラリ、再現可能なインデックス作成パイプライン、引用付きの回答を中心にローカルRAGを構築し、モデルとベクトルインデックスは交換可能な派生アセットとして扱います。
論文、メモ、非公開文書では、モデルを実行することだけが難しい作業ではありません。テキストを一貫して抽出し、ソースの識別情報を保持し、変更されたファイルを更新し、アクセスを制限し、元の文書から復元できる構成が必要です。まずは1人のユーザーと1つのコレクションから始め、引用の品質と再インデックスの状況を測定できるようになってから拡張します。
信頼できるソースと派生アセットを分離する
元のPDF、テキストメモ、オフィス文書、メタデータは、バックアップと安定した識別子を備えた通常のファイルライブラリに保管します。抽出結果、チャンク、埋め込み、ベクトルインデックスは再生成できるため、別のパスに保存します。
インデックス化する各項目に、ソースパス、文書ハッシュ、変更時刻、抽出バージョン、権限ラベルを記録します。このメタデータにより、パイプラインは変更を検出でき、回答から人間が読めるソースを参照できるようになります。
ベクトルデータベースをアーカイブとして使用してはいけません。データを失わずにインデックスを削除して再構築できない場合、ストレージの役割が混在しています。
管理されたインポートと抽出のキューを構築する
広範な権限で非公開フォルダーをすべてスキャンするのではなく、新しい資料用の受信トレイを作成します。インデックス化されたライブラリに文書を移す前に、ファイル形式、マルウェア対策ポリシー、サイズ、重複ハッシュ、抽出結果を検証します。
実践的なローカルRAGガイドでは、文書の読み込みから検索、応答までのパイプラインを解説しています。この文書から検索までのパイプラインを機能面の基準として使用し、そこにプライバシーと復旧の制御を追加します。
スキャンPDF、表、数式、手書きメモには、個別の抽出テスト用フラグを付けます。テキストが空なのに何も通知されない状態は、検索範囲について誤った安心感を生むため、明示的なインポート失敗よりも深刻です。
質問の種類に応じてチャンク分割と検索方法を選ぶ
研究論文には、タイトル、著者、ページ、見出しを保持するセクション単位のチャンクが適しています。短いメモは、エントリー全体のまま扱うほうが適している場合があります。非公開記録では、検索がアクセス境界を越えないよう、権限の範囲を限定した小さな単位が必要になることがあります。
既知のソース箇所を含む実際の質問でテストセットを作成します。言語モデルの文章を評価する前に、検索によって正しい文書と箇所が返されるかを比較します。
別の独立した構築ガイドでは、PDF、メモ、ドキュメントを異なるソースとして扱うことを重視しています。その混在文書RAGワークフローは、代表的なテストセットを設計する際に役立ちます。
引用と安全な失敗モードを必須にする
インターフェースには、事実に関する回答ごとに、ソースのタイトル、ページまたはメモの識別子、検索された短いコンテキストを表示します。ユーザーは元の文書を開いて主張を検証できなければなりません。
関連性のしきい値を設定し、検索結果が弱い場合は、コレクションに十分な根拠がないとシステムが伝えるよう指示します。流暢でも引用のない回答は、役に立つ近似ではなく、失敗したクエリとして扱います。
会話履歴を文書ライブラリから分離し、保持期間を定義します。機密性の高いプロンプトは、インデックス化されたソースと同程度の情報を明らかにする可能性があるため、明確なポリシーに従ってバックアップまたは削除します。
コンピュート、ストレージ、復旧を意図的に配置する
ソース文書は保護されたストレージに保管し、一時コピーを管理できる環境で抽出と埋め込みを実行し、メモリとレイテンシーの要件を満たすデバイスにモデルを配置します。初期段階では、これらの役割を1台のマシンで共有してもかまいませんが、データパスまで共有する必要はありません。
元の文書、メタデータ、インポートルール、テスト質問、設定をバックアップします。モデルと埋め込みのバージョンを記録している場合、大容量の派生インデックスをバックアップするより、埋め込みを再構築するほうが適切なことがよくあります。
NASストレージ上のプライベートAIアシスタントについてのZimaSpaceの解説を参考に、ストレージと推論を同じ場所に置くべきか判断します。その後、クリーンな再インデックスを実行し、ライブラリ全体をインポートする前に引用テストセットを検証します。
最終的な構築ルール
元の文書が信頼できる情報源として維持され、インデックス作成を繰り返すことができ、検索結果が弱い場合に安全に失敗し、すべての回答から引用元のソースにたどり着けるなら、その構成は合格です。モデルのアップグレードや複数ユーザーによるアクセスによって非公開データの境界が広がる場合は、コンピュートとストレージを分離します。
NAS&サーバー設定
もっと読む

開発者はなぜプライベートDNS、VPN、テストアプリにゲートウェイノードを使うのか?
ゲートウェイノードにより、プライベートアプリには管理された1つの名前とアクセス経路を提供し、コンピュートノードは外部に公開せず、交換可能な状態に保てます。

Composeファイル、シークレット、永続データを分離して再現性のあるアプリケーションスタックを構築する方法
Compose定義の移植性を保ち、シークレットを保護し、アプリデータを個別にバックアップして、クリーンなホスト上でスタックを再構築できるようにします。

開発者はデータベースをコンピュートノードとストレージノードのどちらに置くべきか?
開発用データベースの配置場所を、稼働中のデータベースファイルと、バックアップ、ダンプ、レプリカ、大容量のプロジェクトデータを分けて決定します。

