パスの仕様
Manifestファイルまたは任意のYAMLファイルにファイルパスを記入する際、ファイルの種類に応じて以下の2つの仕様に従ってください:- 対象ファイルが画像や動画などのマルチメディアファイルである場合(例:プラグインの
iconを記入する場合)、これらのファイルをプラグインのルートディレクトリにある_assetsフォルダに配置する必要があります。 - 対象ファイルが
.pyや.yamlなどの通常のテキストファイル(コードファイル)である場合、プラグインプロジェクト内でのそのファイルの絶対パスを記入する必要があります。
一般的な構造
プラグインを定義する際、ツール、モデル、Endpoint間で共有できるいくつかのデータ構造があります。ここでは、これらの共通構造を定義します。I18nObject
I18nObjectは、IETF BCP 47標準に準拠した国際化構造であり、現在サポートされている4つの言語は次のとおりです。
- en_US
- zh_Hans
- ja_Jp
- pt_BR
ProviderConfig
ProviderConfigは、ToolおよびEndpointに適用可能な汎用的なプロバイダー設定フォーム構造です。
name(string):フォーム項目の名前label(I18nObject, 必須):IETF BCP 47に準拠type(provider_config_type, 必須):フォームタイプscope(provider_config_scope):オプションの範囲、typeによって変動required(bool):必須(空にできません)default(any):デフォルト値、基本型floatintstringのみをサポートoptions(list[provider_config_option]):オプション項目、typeがselectの場合のみ使用helper(object):ヘルプドキュメントリンクのラベル、IETF BCP 47に準拠url(string):ヘルプドキュメントリンクplaceholder(object):IETF BCP 47に準拠
ProviderConfigOption(object)
value(string, 必須):値label(object, 必須):IETF BCP 47に準拠
ProviderConfigType(string)
secret-input(string):設定情報は暗号化されますtext-input(string):通常のテキストselect(string):ドロップダウンリストboolean(bool):スイッチmodel-selector(object):モデル設定情報、プロバイダー名、モデル名、モデルパラメータなどを含むapp-selector(object):アプリIDtool-selector(object):ツール設定情報、ツールプロバイダー、名前、パラメータなどを含むdataset-selector(string):未定
ProviderConfigScope(string)
typeがmodel-selectorの場合allllmtext-embeddingrerankttsspeech2textmoderationvision
typeがapp-selectorの場合allchatworkflowcompletion
typeがtool-selectorの場合allpluginapiworkflow
ModelConfig
provider(string):plugin_idを含むモデルプロバイダー名。形式はlanggenius/openai/openaiのようになります。model(string): 具体的なモデル名。model_type(enum): モデルタイプの列挙型。モデル設計規則ドキュメントを参照できます。
NodeResponse
inputs(dict): 最終的にノードに入力される変数。outputs(dict): ノードの出力結果。process_data(dict): ノード実行中に生成されるデータ。
ToolSelector
provider_id(string): ツールプロバイダー名tool_name(string): ツール名tool_description(string): ツールの説明tool_configuration(dict[str, Any]): ツールの設定情報tool_parameters(dict[str, dict]): LLMによる推論が必要なパラメータname(string): パラメータ名type(string): パラメータタイプrequired(bool): 必須かどうかdescription(string): パラメータの説明default(any): デフォルトoptions(list[string]): オプション項目
関連リソース
- プラグイン開発の基本概念 - Difyプラグイン開発の全体像を理解する
- 開発者向けチートシート - プラグイン開発でよく使われるコマンドと概念のクイックリファレンス
- ツールプラグイン開発詳細 - ツールプラグイン開発プロセスの詳細を理解する
- モデル設計規則 - モデル設定の仕様を理解する
このページを編集する | 問題を報告する