このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。メールアシスタントはナレッジベースを活用できるようになりました。しかし、ナレッジベースの範囲を超えた質問が来たらどうでしょうか?例えば、「Dify の最新リリースには何が含まれていますか?」のような質問です。 ナレッジベースがまだ更新されていない場合、ワークフローは対応できません。これを解決するために、ライブ検索スキルを装備しましょう!
ツール

ハンズオン 1:イテレーション内のサブプロセスをアップグレードする
アシスタントに新しいロジックを追加します:まずナレッジベースを確認し、回答が見つからない場合は Google で検索します。 新しいロジックに集中するため、次のノードのみを残しておきましょう:ユーザー入力、パラメータ抽出器、イテレーション。ステップ 1:ナレッジベースの照会と判定
1
イテレーションに入る
- クリックしてイテレーションノードのサブプロセスエリアに入ります。
- ナレッジ検索ノードを残し、クエリ変数が
{x} itemであることを確認します。 - 以前の LLM ノードを削除します。
2
判定用 LLM ノードを追加する
ナレッジ検索ノードの直後に LLM ノードを追加します。このノードの役割は、ナレッジベースの情報が質問に回答できるかどうかを判定することです。
- コンテキストセッション:ナレッジ検索から
Knowledge Retrieval / {x} result Array [Object]を選択します。 - System プロンプト:
- User Message:


ステップ 2:分岐点の設定
1
If/Else ノードを追加する
LLM ノードの後に If/Else ノードを追加します。ルールを設定します:LLM の出力が Information not found in knowledge base を 含む場合。これは、ナレッジベースの情報では回答できない場合を意味します。

2
検索ツールを追加する
IF 分岐の後に検索ツールを接続しましょう。これは、ナレッジベースで関連する回答情報が見つからない場合に、ウェブ検索を使って回答を探すことを意味します。
- IF ノードの後、プラス(+)アイコンをクリックしてツールを選択します。
- 検索ボックスに Google と入力します。Google にカーソルを合わせ、右側の「インストール」をクリックし、ポップアップウィンドウで再度「インストール」をクリックします。

3
Google Search をインストールする
Google 内の Google Search をクリックします。

4
API キーを取得する
Google Search を初めて使用するには認証が必要です。Wi-Fi のパスワードを入力するようなものです。


-
「API Key 認証設定」をクリックし、「SerpApi から SerpApi API key を取得」をクリックします。SerpApi にサインインして、専用の API キーを取得してください。
API キーは外部世界へのパスポートです。安全に保管し、他人と共有しないようにしましょう。

- API キーをコピーして SerpApi API key に貼り付けます。Save をクリックします。
-
API キーの認証が成功すると、設定パネルがすぐに表示されます。Query string フィールドに移動し、
Iteration/{x} itemを選択します。

5
2 つのパスを設定する
次に、どちらのパスかに応じて異なる回答方法を設定する必要があります。検索回答パス検索結果に基づいて質問に回答するため、新しい LLM ノードを追加します。Google Search ノードに接続してください。System:User Message:
ナレッジベース回答パスElse ノードの後に、ナレッジベースに基づく回答を処理するための新しい LLM ノードを追加します。System:User Message:


6
情報を統合する
- サブプロセス内(イテレーションボックスの内部)の最後に、変数アグリゲーターノードを追加し、LLM 2 と LLM 3 の両方に接続します。
- 変数アグリゲーターパネルで、変数の割り当てとして
LLM 2/{x}text StringとLLM 3/{x}text Stringを選択します。


ステップ 3:最終的なメール作成
ロジック分岐の処理が完了したので、すべての回答を 1 つの洗練されたメールにまとめましょう。1
イテレーションの出力を設定する
イテレーションノードをクリックし、出力変数として 
{x}Variable Aggregator/{x}output String を設定します。
2
要約 LLM を接続する
イテレーションノードの後に、すべての出力を要約するための新しい LLM ノードを接続します。以下のプロンプトを参考にしてください。System:User Message:

3
出力ノードで仕上げる
LLM ノードの後に End ノードを追加します。出力変数を 
LLM 4/{x}text String に設定します。

ミニチャレンジ
- If/Else ノードで選択できる他の条件にはどのようなものがありますか?
- マーケットプレイスを閲覧して、このワークフローに追加できる別のツールを見つけてみましょう。