外部データツール

機能紹介

以前の ナレッジベース 機能では、開発者が各種形式の長文や構造化データを直接アップロードしてデータセットを構築し、ユーザーがアップロードした最新のコンテキストに基づいてAIアプリケーションが対話できるようにしていました。

今回の更新で導入された外部データツールにより、開発者は自前の検索能力や内部ナレッジベースなどの外部データをLLMのコンテキストとして使用できるようになりました。API拡張の方式で外部データを取得し、プロンプトに埋め込むことが可能になります。クラウドにデータセットをアップロードするのと比べて、外部データツールを使用することで、プライベートデータセキュリティの確保、カスタム検索、リアルタイムデータの取得などの面で顕著な利点があります。

実装

端末ユーザーが対話システムにリクエストを送信すると、プラットフォームのバックエンドが外部データツール(自身のAPIを呼び出す)をトリガーし、ユーザーの質問に関連する外部情報(従業員情報やリアルタイム記録など)をクエリして、そのリクエストに関連する部分をAPI経由で返します。プラットフォームのバックエンドは、返された結果をテキストとして組み立て、プロンプトに注入し、よりパーソナライズされたユーザーのニーズに合った応答内容を出力します。

操作説明

  1. 外部データツールを使用する前に、APIと認証用のAPIキーを準備してください。https://github.com/langgenius/dify-docs/blob/main/jp/guides/extension/api-based-extension/external_data_tool.mdを参照してください。

  2. Difyは集中式のAPI管理を提供しており、設定画面でAPI拡張設定を統一して追加することで、Dify上の各種アプリケーションで直接使用できるようになります。

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

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

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

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

Last updated