外部データツール
Last updated
Last updated
以前の ナレッジベース 機能では、開発者が各種形式の長文や構造化データを直接アップロードしてデータセットを構築し、ユーザーがアップロードした最新のコンテキストに基づいてAIアプリケーションが対話できるようにしていました。
今回の更新で導入された外部データツールにより、開発者は自前の検索能力や内部ナレッジベースなどの外部データをLLMのコンテキストとして使用できるようになりました。API拡張の方式で外部データを取得し、プロンプトに埋め込むことが可能になります。クラウドにデータセットをアップロードするのと比べて、外部データツールを使用することで、プライベートデータセキュリティの確保、カスタム検索、リアルタイムデータの取得などの面で顕著な利点があります。
端末ユーザーが対話システムにリクエストを送信すると、プラットフォームのバックエンドが外部データツール(自身のAPIを呼び出す)をトリガーし、ユーザーの質問に関連する外部情報(従業員情報やリアルタイム記録など)をクエリして、そのリクエストに関連する部分をAPI経由で返します。プラットフォームのバックエンドは、返された結果をテキストとして組み立て、プロンプトに注入し、よりパーソナライズされたユーザーのニーズに合った応答内容を出力します。
外部データツールを使用する前に、APIと認証用のAPIキーを準備してください。https://github.com/langgenius/dify-docs/blob/main/jp/guides/extension/api-based-extension/external_data_tool.mdを参照してください。
Difyは集中式のAPI管理を提供しており、設定画面でAPI拡張設定を統一して追加することで、Dify上の各種アプリケーションで直接使用できるようになります。
例として「天気の問い合わせ」を取り上げ、「APIベースの拡張の追加」ダイアログに名前、APIエンドポイント、APIキーを入力します。保存後、APIを呼び出すことができます。
プロンプト編成ページで、「ツール」右側の「+追加」ボタンをクリックし、開いた「ツールの追加」ダイアログで名前と変数名(変数名はプロンプトに引用されるため、英語で記入してください)を記入し、ステップ2で追加したAPIベースの拡張を選択します。
これで、プロンプト編成フレームでクエリされた外部データをプロンプトに組み込むことができます。例えば、今日のロンドンの天気をクエリする場合、「location」変数を追加し、「London」を入力し、外部データツールの拡張変数名「weather_data」と組み合わせると、以下のようなデバッグ出力が得られます:
対話ログでも、APIが返したリアルタイムデータを確認できます: