ナレッジ検索ノードの設定
**ナレッジ検索ノード(Knowledge Retrieval)**は、接続されたナレッジベース(Knowledge Base)からユーザーの質問に関連する情報を検索・取得するためのノードです。 取得した情報はコンテキストとして後続のLLMノードに渡され、RAG(Retrieval-Augmented Generation)を実現するために使用されます。
設定手順
1. ノードの配置
ワークフローエディタのノードパネルから「ナレッジ検索(Knowledge Retrieval)」を選択し、キャンバスに追加します。
開始ノード、または質問を受け取る前のノードの後ろに接続します。
2. ナレッジベースの選択

ノード内の「+ナレッジを追加(Add Knowledge)」をクリックします。
リストから検索対象としたいナレッジベースを選択します。
必要に応じて複数のナレッジベースを選択可能です。
3. クエリ(検索ワード)の設定
検索に使用するキーワードを設定します。
設定値: 通常はユーザーの入力変数(例:
sys.query)を指定します。変数の挿入: 入力欄の「{x}」マークをクリックするか、
{{を入力して変数を呼び出せます。
主要な設定パラメータ
検索精度を調整するためのパラメータです。
クエリ変数
検索に使用する入力値。
sys.query
TopK
取得するドキュメントの最大件数。
3 〜 5
Score Threshold
検索結果の類似度スコアの下限値。これ以下の関連度の低い情報は除外されます。
0.5 〜 0.7
Rerank設定
(オプション) 検索結果をRerankモデルで再ランク付けし、精度を向上させます。
オン (推奨)
Score Threshold を高くしすぎると、検索結果が0件になる場合があります。 最初は低め(0.5など)に設定し、デバッグしながら調整してください。
メタデータフィルタ: ナレッジベースのドキュメントに付与されたメタデータを条件として検索対象を絞り込む機能です。デジタルヒューマン環境ではデフォルトで「無効」に設定されています。
複数ナレッジ検索(N-to-1 Recall)
複数のナレッジベース(例:「社内規定」と「製品マニュアル」)を同時に検索対象とする場合、「複数ナレッジ検索(N-to-1 Recall)」モードが適用されます。
仕組み: 各ナレッジベースから検索された結果を統合し、最も関連性の高い順に並べ替えて出力します。
推奨: 複数のナレッジを使用する場合は、情報の優先順位を正しく判定させるため、Rerankモデルの設定を強く推奨します。
出力結果の利用方法
検索結果は変数として出力され、後続の「LLMノード」のコンテキストとして利用します。
LLMノードでの設定例
LLMノードの「コンテキスト」欄、またはプロンプト内で以下のように変数を参照します。
ベストプラクティス
適切なTopKの設定: LLMのコンテキストウィンドウ(トークン制限)を圧迫しないよう、TopKは3〜5程度から開始してください。
デバッグの活用: プレビュー/デバッグ機能を使用し、実際にどのようなテキストが検索(Retrieve)されているかを確認してください。意図しないテキストがヒットしている場合は、ナレッジベースのデータ分割(チャンク)設定を見直す必要があります。
Rerankの検討: 検索精度が低い場合、外部のRerankモデル(Cohere Rerank等)を導入することで劇的に改善する場合があります。
本ドキュメントはDifyのバージョンアップによりUI名称等が変更される可能性があります。
最終更新
