⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、英語版を参照してください。
Endpoint
このドキュメントでは、Neko Cat プロジェクトを例として、プラグイン内の Endpoint の構造について説明します。Endpoint はプラグインが公開する HTTP インターフェースで、外部システムとの統合に使用できます。完全なプラグインコードについては、GitHub リポジトリを参照してください。グループ定義
Endpoint グループは、複数の Endpoint の集合です。Dify プラグイン内で新しい Endpoint を作成する際、以下の設定を入力する必要がある場合があります。
Endpoint Name の他に、グループの設定情報を記述することで新しいフォーム項目を追加できます。保存をクリックすると、含まれる複数のインターフェースが表示され、それらは同じ設定情報を使用します。
構造
settings(map[string] ProviderConfig): Endpoint 設定の定義。endpoints(list[string], 必須): 具体的なendpointインターフェース定義を指します。
インターフェース定義
path(string): Werkzeug インターフェース標準に従います。method(string): インターフェースメソッド、HEAD、GET、POST、PUT、DELETE、OPTIONSのみサポートします。extra(object): 基本情報以外の設定情報。python(object)source(string): このインターフェースを実装するソースコード。
インターフェース実装
dify_plugin.Endpoint を継承するサブクラスを実装し、_invoke メソッドを実装する必要があります。
- 入力パラメータ
r(Request):werkzeugのRequestオブジェクト。values(Mapping): パスから解析されたパスパラメータ。settings(Mapping): このEndpointの設定情報。
- 戻り値
werkzeugのResponseオブジェクト、ストリーミングレスポンスをサポートします。- 文字列を直接返すことはサポートされていません。
注意事項
- Endpoint はプラグインが呼び出されたときにのみインスタンス化されます。常時稼働するサービスではありません。
- Endpoint を開発する際はセキュリティに注意し、危険な操作の実行を避けてください。
- Endpoint は Webhook コールバックの処理や、他のシステムが接続するためのインターフェースの提供に使用できます。
関連リソース
- プラグイン開発の基本概念 - プラグイン開発の全体的なアーキテクチャを理解する。
- Neko Cat サンプル - 拡張プラグイン開発のサンプル。
- 汎用仕様定義 - ProviderConfig などの共通構造を理解する。
- Slack Bot プラグイン開発サンプル - 別のプラグイン開発サンプル。
- プラグイン開発入門 - ゼロからプラグインを開発する。
- Dify サービスの逆呼び出し - 逆呼び出し機能の使用方法を学ぶ。
Edit this page | Report an issue