> For the complete documentation index, see [llms.txt](https://docs.digitalhumans.jp/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.digitalhumans.jp/dify-guide/knowledge-base/dify-docs-knowledge-base-overview-and-design-policy.md).

# ナレッジベースの概要と設計方針

## RAGとは

RAG（Retrieval-Augmented Generation：検索拡張生成）は、LLM（大規模言語モデル）が回答を生成する際に、外部ドキュメント検索（Retrieval）で得た根拠情報を参照しながら生成（Generation）することで、回答の正確性・再現性を高める手法です。

### RAGの仕組み

![](/files/qu3tx3pTpRuo6WzKwgjg)

1. **ドキュメントを取り込み**（PDF/HTML/Markdown/FAQなど）
2. **チャンク分割**（後段の検索に適した粒度へ分割）
3. **埋め込み（Embedding）作成**し、ベクトルDBへ格納
4. ユーザーの質問を **ベクトル化**し、近傍検索で関連チャンクを取得
5. 取得したチャンクを **コンテキスト**としてプロンプトに差し込み、LLMが回答を生成

### RAGのメリット

* **最新情報を反映しやすい**：モデル自体の再学習なしでドキュメント更新に追従できる
* **ハルシネーション抑制**：根拠に基づく回答になりやすく、誤回答の防止につながる
* **出典提示・監査性**：参照元ドキュメントを示しやすい
* **運用で改善可能**：検索ヒット率、チャンク設計、メタデータ、評価で継続改善できる

{% hint style="warning" %}
RAGでも「検索で誤ったチャンクを拾う」「根拠が薄い」「質問が曖昧」などの条件では誤答が起き得ます。ナレッジ設計と評価が重要です。
{% endhint %}

## ナレッジベースとは

Difyのナレッジベースは、RAGを実現するための**ドキュメント管理・検索基盤**です。ドキュメントを登録し、チャンク化・インデックス化して、アプリケーションから検索して参照できる状態にします。

### ナレッジベース作成フロー

1. **ドキュメントのアップロード**
2. **セグメント設定（チャンク分割）**：自動設定またはルールベースでのカスタム設定が可能。
3. **インデックス作成**
   * **高品質モード**（推奨）：Embeddingモデルを使用してベクトル化
   * **経済的モード**：キーワード検索用のインデックスのみ作成（トークン消費を抑えるが精度は劣る場合がある）
4. **アプリケーションから検索・参照**

### 検索精度の向上機能（Dify推奨設定）

特にデジタルヒューマン用途など、高い回答精度が求められる場合は以下の設定を検討します。

* **ハイブリッド検索（Hybrid Search）**： ベクトル検索（意味の類似性）とキーワード検索（単語の一致）を組み合わせ、両方の長所を活かす手法です。専門用語が多い場合に有効です。
* **Rerank（再ランク付け）設定**： 検索で粗く抽出したチャンク候補を、Rerankモデルを用いて「質問との関連度」で再評価し、並び替える機能です。最も関連性の高い情報だけをLLMに渡すことで、回答精度が大幅に向上します。

## デジタルヒューマン向け設計方針

デジタルヒューマン（対話型エージェント）用途では、

* 質問が多岐にわたり
* 言い回しが揺れ
* 正誤がユーザー体験に直結する

ため、\*\*「答えやすい形に情報を整理する」\*\*ことが最優先です。

### よくある登録情報

| 情報種別          | 例                            |
| ------------- | ---------------------------- |
| **製品・サービス情報** | 製品カタログ、価格表、仕様、プラン、制限、比較、導入手順 |
| **FAQ**       | よくある質問と回答、エラー、トラブルシューティング    |
| **対応マニュアル**   | オペレーション手順、一次回答テンプレ、エスカレーション  |
| **企業情報**      | 概要、沿革、所在地、問い合わせ、規約、ポリシー      |

### ナレッジベースの分割戦略

ナレッジは「一つにまとめれば良い」わけではなく、検索精度・運用性の観点で分割が有効です。

### 分割の考え方（推奨）

* **用途で分割**：FAQ / 仕様 / マニュアル / 規約 など
* **更新頻度で分割**：頻繁に変わる情報と、固定情報を分ける
* **公開範囲（権限）で分割**：社外公開OK / 社内限定 / 機密 を分ける
* **回答の責任境界で分割**：正確性が必須の領域（契約・法務等）は特に独立管理

| 方針         | 用途        | メリット         |
| ---------- | --------- | ------------ |
| **単一ナレッジ** | 小規模プロジェクト | シンプル、管理が容易   |
| **目的別分割**  | 中規模以上     | 検索精度向上、更新が容易 |

### 推奨分割例

```jsx
デジタルヒューマンプロジェクト
├── ナレッジベースA: 製品情報（ハイブリッド検索推奨）
├── ナレッジベースB: FAQ（Q&A形式でチャンク化）
├── ナレッジベースC: 会社情報
└── ナレッジベースD: 対応マニュアル（社内用/参照優先度低）
```

## 設計時のチェックリスト

* [ ] どのような質問に答える必要があるか
* [ ] どの情報ソースがあるか
* [ ] 情報の更新頻度はどの程度か
* [ ] 機密情報は含まれるか
* [ ] マルチナレッジにするか単一にするか
* [ ] **検索設定（ハイブリッド検索/Rerank）は必要か**

## 参考URL

Difyナレッジベースガイド: <https://docs.dify.ai/ja/use-dify/knowledge>
