moderationセンシティブコンテンツ審査external_data_tool外部データツール
API 仕様
Dify は以下の仕様でインターフェースを呼び出します:Header
Request Body
API レスポンス
検証
Dify で API-based Extension を設定する際、Dify は API の可用性を確認するために API Endpoint にリクエストを送信します。 API Endpoint がpoint=ping を受信したとき、インターフェースは result=pong を返す必要があります。具体的には以下の通りです:
Header
Request Body
API 期待レスポンス
サンプル
ここでは外部データツールを例として、地域に基づいて外部の天気情報をコンテキストとして取得するシナリオを示します。API サンプル
コードサンプル
コードは Python FastAPI フレームワークに基づいています。-
依存関係をインストール
-
インターフェース仕様に従ってコードを記述
-
API サービスを起動します。デフォルトポートは 8000 で、完全な API アドレスは
http://127.0.0.1:8000/api/dify/receive、設定された API Key は123456です。 - Dify でこの API を設定します。
- App でこの API 拡張を選択します。
ローカルデバッグ
Dify クラウド版では内部ネットワークの API サービスにアクセスできないため、ローカルで API サービスをデバッグするために、Ngrok を使用して API サービスのエンドポイントを公開ネットワークに公開し、クラウドでローカルコードをデバッグできるようにします。操作手順:-
https://ngrok.com の公式サイトにアクセスし、登録して Ngrok ファイルをダウンロードします。
-
ダウンロード完了後、ダウンロードディレクトリに移動し、以下の説明に従って圧縮ファイルを解凍し、説明の初期化スクリプトを実行します。
-
ローカル API サービスのポートを確認します:
そして、以下のコマンドを実行して起動します:
起動成功のサンプルは以下の通りです:
-
Forwarding の中から、上図のように
https://177e-159-223-41-52.ngrok-free.app(これはサンプルドメインです、自分のものに置き換えてください)が公開ネットワークドメインです。
http://127.0.0.1:8000/api/dify/receive を https://177e-159-223-41-52.ngrok-free.app/api/dify/receive に置き換えます。
この API エンドポイントは公開ネットワークでアクセス可能になります。これで、Dify でこの API エンドポイントを設定してローカルコードをデバッグできます。設定手順については、外部データツール を参照してください。