ナレッジベースの引用プロセス
ナレッジベースは、大規模言語モデルに対して外部知識を提供し、ユーザーの質問に正確に回答するために使用されます。Dify の すべてのアプリタイプ 内で作成されたナレッジベースを関連付けることができます。 チャットボットを例にすると、以下の手順で進めます:- ナレッジ > ナレッジを作成 > ファイルをアップロード に進みます。
- スタジオ > アプリを作成 > チャットボットを選択 に進みます。
- コンテキスト に進んで 追加 をクリックし、作成済みのナレッジベースを選択します。
- コンテキスト設定 で 検索設定 を構成します。
- 機能を追加 で 引用と帰属 を有効にします。
- デバッグとプレビュー で、ナレッジベースに関連するユーザーの質問を入力してデバッグします。
- デバッグが完了したら、公開 ボタンをクリックして、自社のナレッジベースに基づく AI アプリケーションを公開します。
ナレッジベースの関連付けと検索モードの設定
複数のナレッジベースを利用するアプリケーションでは、検索されるコンテンツの精度を高めるために検索モードを設定することが重要です。ナレッジベースの検索モードを設定するには、コンテキスト > 検索設定 > Rerank 設定 に進みます。検索設定
複数リコールモードでは、検索器はアプリに関連付けられたすべてのナレッジベースから、ユーザーの問題に関連するテキスト内容を検索します。そして、複数リコールの関連文書結果を統合します。以下は複数リコールモードの技術フローチャートです:

重み設定
この設定には外部の Rerank モデルの構成は不要で、コンテンツの再並べ替えに 追加コストは発生しません。セマンティクスまたはキーワードの重み比率を設定します。- セマンティック値が 1 の場合 セマンティック検索モードが有効になります。このモードでは、埋め込みモデルを利用して、クエリに正確な単語がナレッジベースに存在しない場合でも、ベクトル距離を計算することで検索の精度を向上させ、適切なコンテンツを返すことができます。また、複数言語のコンテンツを扱う場合には、セマンティック検索が異なる言語間の意味を把握し、より正確なクロス言語検索結果を提供します。
- キーワード値が 1 の場合 この場合、キーワード検索モードが有効になります。ユーザーが入力した情報テキストがナレッジベース全体と一致し、ユーザーが正確な情報や用語を把握している場合に適しています。この方法は計算リソースを少なく消費し、大量の文書を迅速に検索するのに適しています。
- カスタムキーワードとセマンティックの重み セマンティック検索またはキーワード検索モードのいずれかを選択する代わりに、柔軟なカスタム重み設定も利用可能です。両者の重みを調整し続けることで、ビジネスシナリオに最も適した重み比率を見つけることができます。

- Top K ユーザーの質問に最も類似したテキストセグメントを選択するために使用されます。システムはモデルの選択に基づいてコンテキストウィンドウサイズを動的に調整し、セグメントの数を増やします。数値が高いほど、リコールされるテキストセグメントの数が増加します。
- スコアの閾値 テキストセグメントの選択に使用される類似性の閾値を設定します。ベクトル検索の類似性スコアは、設定したスコアを超える必要があり、数値が高いほどリコールされるテキストの数が減少します。