DigitalBase Docs

RAG設定

社内文書を取り込み、その内容を根拠に AI が回答する仕組み(RAG)です。サイドバーの「RAG設定」から、ナレッジを作成・利用します。

基本の流れ

  1. ナレッジを作成 — 名前と用途を設定します。
  2. ファイルを取り込み — PDF / Office(Word / Excel / PowerPoint)/ テキストなどをアップロード、または外部ストレージ・SQL から取り込みます。読み取り方式は Vision設定 でファイル処理(OCR+テキスト)/ ベクトル処理(AI 読取+検索)から選びます(詳細は画像・添付ファイルの扱い方を参照)。
  3. チャットで利用 — ナレッジを選択して質問します。 → 回答に参照元が示されます。

取り込みの実行と進捗

  • 「サーバー取り込み」やファイルからの「RAGに取込む」は、サーバー側で実行されます。画面を移動したりブラウザを閉じたりしても取り込みは継続します。
  • 進捗は RAG 一覧上部の 「取込進捗」 に表示されます(ナレッジ名・処理中ファイル・進捗率)。✕ で中止でき、処理中のページ / チャンクの区切りで停止します。
  • 「サーバー取り込み」のファイル選択ではフォルダも選べます。フォルダはサーバー側で展開され、配下のファイル(サブフォルダ含む)を 1 ジョブで取り込みます(1 ジョブの上限は RAG_INGEST_MAX_FILES、既定 500 ファイル)。
  • チャンクサイズ・埋め込みモデル・Vision などの取り込みパラメータは、指定しなければユーザー設定の RAG パラメータが使われます(既定はチャンク 500 字 / 重なり 100 字)。
  • 取り込みの記録はサーバーに保存されるため、本体を再起動しても消えません。再起動で途中のまま終わった取り込みは「中断」と表示されます(該当ファイルを取り込み直してください)。
  • 一部のチャンクの埋め込みに失敗した場合(推論サーバーの一時的な不調など。1 回は自動で再試行します)は「一部失敗」と表示され、失敗したファイルと理由を確認できます。成功したチャンクは検索対象に残るので、失敗分だけ取り込み直します。

ソース(取り込んだ文書)の管理

ナレッジ詳細の一覧で、取り込み済みの文書を管理できます。

  • ソース名 — クリックで変更できます。変更は検索結果の参照元表示(citation)にも反映されます。
  • リンク先 — 取り込み元のファイルパスや URL です。クリックすると原本(ファイル管理の該当フォルダ、または Web ページ)が開きます。変更は行末の「⋮ → 詳細・メタデータ」からファイル選択で行います。
  • メタデータ — 「⋮ → 詳細・メタデータ」で案件 ID・部署・版数などの属性を付けられます。付けた属性は検索結果の各出典に属性として付いて AI に渡るため、「案件 ID が A-100 の文書では」と聞けば AI が読み分けられます。検索そのものを絞り込むには、次の「メタデータ項目」を定義します。
  • メタデータ項目 — 「設定 → メタデータ項目」で、このナレッジの文書に付ける項目(key・表示名・型 text / 数値 / 日付 / 選択式)を定義します。key は空白なしの 1 語で、案件ID のような日本語も使えます。定義した項目は次の 3 か所で同じ定義を使います。
    1. 取り込み:取込フォームに入力欄が出ます。「フォルダ既定値」でフォルダ配下の文書に自動で値を付けたり、「AI で自動抽出」で未入力の項目を文書冒頭から推定させたりできます。
    2. チャットの検索:質問に「案件 8989 の開始日は」「2024 年度の営業部の資料で」のような条件が含まれていると、AI が項目定義に沿って絞り込み条件を抽出し、条件に合う文書だけを検索します(Dify のメタデータ自動フィルタと同じ方式)。条件に合う文書が無ければ絞り込み無しで再検索します。RAG_AUTO_FILTER=false で無効化できます。
    3. ナレッジ検索ツール:AI エージェントのツール呼び出しでも同じ項目が条件(filters)として使えます。
    • 項目を定義せずに自由に付けた属性は、出典の属性として AI に渡るだけで、検索の絞り込みには使われません。
  • ファイル管理側で原本をリネーム・移動するとリンク先は自動で追従し、原本を削除すると自分が所有するナレッジの該当ドキュメントも連動して削除されます。
  • チャンクを確認 — 「⋮ → チャンクを確認」で、その文書がどう分割・保存されたか(本文・文字数・メタデータ)を一覧できます。検索に当たらないときに、期待した文が 1 つのチャンクに収まっているかをここで確かめます。
  • ページ番号 — PDF や画像化した文書はページ単位で分割して取り込み、各チャンクにページ番号を持ちます。チャットの参照元には「ファイル名, p.N」の形で表示され、AI にもページ付きの出典として渡ります。

埋め込みモデル

取り込み時に文書をベクトル化します。使うモデルは次の順で決まります。

  1. 取り込み時・検索時に明示したモデル
  2. ユーザー設定(RAG パラメータ)の Embedding Model
  3. どちらも未設定なら、推論エンジンに設定されている埋め込みモデル(vLLM 版は .envVLLM_EMBED_MODEL、Ollama 版は OLLAMA_EMBED_MODEL

通常はユーザー設定を空のままにしておけば、管理者がサーバーに用意したモデルがそのまま使われます。Ollama エディションでは、埋め込みモデル(例: nomic-embed-text)を事前に用意してください。

次元の注意点(重要)

埋め込みモデルごとに、生成されるベクトルの次元数が異なります。次元はナレッジ(ボット)単位で管理され、ナレッジごとに別の埋め込みモデル(ローカル / クラウドの併用など)を使えます。検索用インデックス(HNSW)は取込時に次元ごとに自動作成されます。

注意

1 つのナレッジの中では、取り込み時も検索(推論)時も同じ埋め込みモデルを使ってください。 検索では質問文も同じモデルでベクトル化して文書ベクトルと比較するため、次元が一致して初めて検索できます。次元の異なるモデルを混ぜると「Embedding dimension mismatch」というエラーになります。

  • 検索(推論)時 — 質問文は、そのナレッジを取り込んだモデルで自動的にベクトル化します(RAG パラメータの Embedding Model と違っていても、ナレッジ側のモデルが使われます)。複数ナレッジの横断検索は、同じ埋め込みモデルのナレッジ同士でのみ可能です。
  • 取り込み時 — ナレッジに既に文書がある場合、別の埋め込みモデルでの追加取り込みは「Embedding model mismatch」として拒否します。
  • モデルを変えたいとき — そのナレッジの文書をすべて削除してから、新しい埋め込みモデルで取り込み直してください(他のナレッジには影響しません)。別モデルの新しいナレッジをそのまま作ることもできます。
  • エクスポート / インポート — 別環境へ移す場合も、次元が一致しないナレッジへはインポートできません。

共有

作成したナレッジはタグで共有範囲を制御できます(ユーザー・権限管理を参照)。共有先のタグは所有者が選べます(タグ自体の作成・ユーザーへの付与は ADMIN / SUPER が行います)。

補足

ナレッジに管理者特権はありません。 取込・削除・エクスポート・編集ができるのは所有者だけです。タグ共有先のユーザーは閲覧・利用のみ(読み取り専用)で、管理者であっても他ユーザーのナレッジは編集できません。

RAG と SQL の使い分け

データ適した機能
文書・非構造データRAG
集計・抽出など構造化データSQL

関連