Files
dify-docs/ja-jp/guides/workflow/node/knowledge-retrieval.mdx
2025-11-17 12:15:41 +08:00

141 lines
7.7 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: 知識検索
---
## はじめに
知識検索ノードを使用すると、既存のナレッジベースを Chatflow や Workflow に統合できます。
このードは指定されたナレッジからクエリに関連する情報を検索し、その結果を下流ードLLMで利用できるコンテキスト情報として出力します。
以下は Chatflow における 知識検索ノード の利用例です:
1. **ユーザー入力** ノードがユーザーの質問を収集します。
2. **知識検索** ノードが選択されたナレッジベースから関連情報を検索し、結果を出力します。
3. **LLM** ノードがユーザー質問と検索結果の両方をもとに回答を生成します。
4. **回答** ノードが LLM の出力をユーザーへ返します。
![知識検索ノードの使用例](/images/knowledge_retrieval_node_example.png)
<Info>
知識検索ードを使用する前に、少なくとも1つの利用可能なナレッジベースが存在することを確認してください。
ナレッジベースの作成方法については、[ナレッジ](/ja-jp/guides/knowledge-base/readme#ナレッジの作成) を参照してください。
</Info>
## 知識検索ノードの設定
知識検索ードを正常に機能させるには、次の3点を指定する必要があります
- **何を検索するか**(クエリ)
- **どこを検索するか**(ナレッジベース)
- **どのように検索結果を処理するか**(ノードレベルの検索設定)
また、ドキュメントのメタデータを利用してフィルタベースの検索を有効化し、検索精度をさらに向上させることもできます。
### クエリの指定
ノードが選択されたナレッジベースで検索する対象を指定します。
- **クエリテキスト**テキスト変数を選択します。たとえば、Chatflow では `userinput.query`ユーザー入力ードの入力を指定できます。Workflow ではテキスト型のユーザー入力変数を利用します。
- **クエリ画像**:画像変数を指定して画像検索を行います。ユーザーがアップロードした画像などを使用できます。最大サイズは 10 MB です。
<Info>
自己ホスティング環境では、環境変数 `UPLOAD_IMAGE_FILE_SIZE_LIMIT` を変更することで画像サイズ上限を調整できますデフォルト値10
</Info>
<Info>
**クエリ画像** は、画像検索対応のナレッジベースが少なくとも1つ存在する場合にのみ利用可能です。
対応ナレッジベースは「**Vision**」アイコンで表示され、画像埋め込みに対応した埋め込みモデルを使用しています。
</Info>
### 検索対象ナレッジベースの選択
ードで検索対象とするナレッジベースを1つ以上追加します。
<Info>
**Vision** アイコンが付いたナレッジベースは **画像検索** に対応しており、テキストおよび/または画像をクエリとして使用できます。これにより、意味的に関連するテキストと画像の両方を検索・取得することが可能です。
</Info>
<Tip>
ノード内で任意のナレッジベースの **編集** アイコンをクリックすると、直接その設定を変更できます。
設定項目の詳細は [ナレッジ設定の管理](/ja-jp/guides/knowledge-base/knowledge-and-documents-maintenance/readme) および [インデックス方法と検索設定を指定](/ja-jp/guides/knowledge-base/create-knowledge-and-upload-documents/setting-indexing-methods) を参照してください。
</Tip>
### ノードレベルの検索設定
ナレッジベースから取得した検索結果を、ノード内でどのように絞り込み・再ランク付けするかを調整できます。
<Info>
検索設定には2つのレイヤー階層があります。
ナレッジベースレベルの設定が最初の検索プールを決定し、ノードレベルの設定がその結果を再スコアリングまたは絞り込みします。
</Info>
- **Rerank 設定**
- **ウェイト設定**: 再ランク付け時におけるセマンティック類似度(意味の近さ)とキーワード一致の比重を調整します。セマンティックの比重を高くすると意味的関連性を重視し、キーワードの比重を高くすると正確な一致を重視します。
<Info>
**ウェイト設定** は、追加したナレッジベースがすべて「高品質」タイプである場合に利用できます。
</Info>
- **Rerank モデル**: クエリとの関連度に基づいてすべての検索結果を再スコアリング・並べ替えします。
- **トップ K**: 再ランク後に返す最大件数を指定します。 Rerank モデルを選択している場合、この値はモデルが処理可能な最大入力サイズ(トークン上限)に応じて自動的に調整されます。
- **スコア閾値**: 結果を返す際の最低スコア(類似度)を指定します。この閾値未満の結果は除外されます。高めに設定すると関連性の厳密な検索が行われ、低めにするとより広範なマッチを含めることができます。
<Info>
複数のナレッジベースを追加した場合、まずそれぞれから同時に検索を行い、結果を統合して上記設定に基づいて再ランク付けが行われます。
</Info>
### メタデータフィルタの有効化
ナレッジベース内のドキュメントメタデータを利用して、特定の条件に合致するドキュメントのみを検索対象とすることができます。これにより、大規模または多様なナレッジベース内での検索精度が向上します。
<Info>
ドキュメントメタデータの作成と管理については、[メタデータ](/ja-jp/guides/knowledge-base/metadata) を参照してください。
</Info>
## 出力
知識検索ノードの出力は `result` という変数として返されます。この変数は検索されたドキュメントチャンクの配列で、各チャンクには内容・メタデータ・タイトルなどの情報が含まれます。
画像検索が有効で、関連する画像が取得された場合、`result` 変数には `files` フィールドが追加され、取得された画像情報が格納されます。
![知識検索ノードの出力]()
## LLM ノードとの連携
検索結果を活用して LLM ノードで質問応答を行うには:
1. **コンテキスト** フィールドで、知識検索ノードの `result` 変数を選択します。
2. プロンプト入力欄で、`コンテキスト` 変数とユーザー入力変数Chatflow の `userinput.query`)の両方を参照します。
<img src="/images/llm_node_configuration_example.png" alt="LLM ノード設定の例" width="400"/>
<Note>
知識検索の呼び出しには、契約プランに応じたリクエスト上限(レートリミット)が適用されます。
詳細は [ナレッジベースの要求頻度制限](/ja-jp/guides/knowledge-base/knowledge-request-rate-limit) を参照してください。
</Note>
{/*
Contributing Section
DO NOT edit this section!
It will be automatically generated by the script.
*/}
---
[このページを編集する](https://github.com/langgenius/dify-docs/edit/main/ja-jp/guides/workflow/node/knowledge-retrieval.mdx) | [問題を報告する](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)