# 外部データツール ## 機能紹介 以前の [.](./ "mention") 機能では、開発者が各種形式の長文や構造化データを直接アップロードしてデータセットを構築し、ユーザーがアップロードした最新のコンテキストに基づいてAIアプリケーションが対話できるようにしていました。 今回の更新で導入された**外部データツール**により、開発者は自前の検索能力や内部知識ベースなどの外部データをLLMのコンテキストとして使用できるようになりました。API拡張の方式で外部データを取得し、プロンプトに埋め込むことが可能になります。クラウドにデータセットをアップロードするのと比べて、**外部データツール**を使用することで、プライベートデータセキュリティの確保、カスタム検索、リアルタイムデータの取得などの面で顕著な利点があります。 ## 実装 端末ユーザーが対話システムにリクエストを送信すると、プラットフォームのバックエンドが外部データツール(自身のAPIを呼び出す)をトリガーし、ユーザーの質問に関連する外部情報(従業員情報やリアルタイム記録など)をクエリして、そのリクエストに関連する部分をAPI経由で返します。プラットフォームのバックエンドは、返された結果をテキストとして組み立て、プロンプトに注入し、よりパーソナライズされたユーザーのニーズに合った応答内容を出力します。 ## 操作説明 1. 外部データツールを使用する前に、APIと認証用のAPIキーを準備してください。[external\_data\_tool.md](../extension/api\_based\_extension/external\_data\_tool.md "mention")を参照してください。 2. Difyは集中式のAPI管理を提供しており、設定画面でAPI拡張設定を統一して追加することで、Dify上の各種アプリケーションで直接使用できるようになります。

APIベースの拡張

3. 例として「天気の問い合わせ」を取り上げ、「APIベースの拡張の追加」ダイアログに名前、APIエンドポイント、APIキーを入力します。保存後、APIを呼び出すことができます。

天気の問い合わせ

4. プロンプト編成ページで、「ツール」右側の「+追加」ボタンをクリックし、開いた「ツールの追加」ダイアログで名前と変数名(変数名はプロンプトに引用されるため、英語で記入してください)を記入し、ステップ2で追加したAPIベースの拡張を選択します。

外部データツール

5. これで、プロンプト編成フレームでクエリされた外部データをプロンプトに組み込むことができます。例えば、今日のロンドンの天気をクエリする場合、「location」変数を追加し、「London」を入力し、外部データツールの拡張変数名「weather_data」と組み合わせると、以下のようなデバッグ出力が得られます:

天気検索ツール

対話ログでも、APIが返したリアルタイムデータを確認できます:

プロンプトログ