このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、英語版 を参照してください。
モデルプラグインは 2 つのエンティティで自身を記述します。認証を処理しサポートするモデルを列挙する Provider と、モデルごとにそのタイプ、機能、パラメータを宣言する AIModelEntity です。
以下のすべてのエンティティは、dify_plugin.entities.model モジュールの Pydantic BaseModel サブクラスです。
簡易判断ガイド#
ユーザーが API キーを貼り付けると、用意したモデル一覧をすべて利用できます。configurate_methods: [predefined-model] を設定し、各モデルの AIModelEntity を YAML で定義します。
ユーザーが独自のモデル名とベース URL(OpenAI 互換エンドポイント、カスタムデプロイなど)を設定します。configurate_methods: [customizable-model] を使用し、カスタマイズ可能モデル を参照してください。
組み込みのカタログに加えて、ユーザーが追加するカスタムモデルにも対応します。両方の configurate_methods の値を組み合わせます。
エンドツーエンドの例については、新しいモデルプロバイダーの作成 を参照してください。
Provider#
プロバイダー識別子。例:openai。
背景色の値。例:#FFFFFF。空の場合はフロントエンドのデフォルト色が使用されます。
サポートするモデルタイプ。
設定方法。
プロバイダー認証情報の仕様。
モデル認証情報の仕様。
AIModelEntity#
モデル識別子。例:gpt-3.5-turbo。
モデルタイプ。
サポートする機能。
モデルプロパティ。
モード(モデルタイプ llm)。
コンテキストサイズ(モデルタイプ llm および text-embedding)。
最大チャンク数(モデルタイプ text-embedding および moderation)。
最大ファイルアップロードサイズ(単位:MB、モデルタイプ speech2text)。
サポートするファイル拡張子。例:mp3,mp4(モデルタイプ speech2text)。
デフォルト音声。alloy、echo、fable、onyx、nova、shimmer のいずれか(モデルタイプ tts)。
1 回の変換あたりの単語数の上限。デフォルトでは段落単位で分割します(モデルタイプ tts)。
サポートするオーディオファイル拡張子。例:mp3,wav(モデルタイプ tts)。
テキストからオーディオへの変換の同時タスク数(モデルタイプ tts)。
チャンクあたりの最大文字数(モデルタイプ moderation)。
モデル呼び出しパラメータのルール。
価格情報。
モデルが非推奨かどうか。非推奨のモデルはモデル一覧に表示されなくなりますが、既存の設定は引き続き動作します。デフォルトは False です。
ModelType#
テキスト生成モデル。
テキスト埋め込みモデル。
リランクモデル。
音声からテキスト。
テキストから音声。
コンテンツモデレーション。
ConfigurateMethod#
事前定義モデル。ユーザーは統一されたプロバイダー認証情報を一度設定するだけで、そのプロバイダー下のすべての事前定義モデルを使用できます。
カスタマイズ可能モデル。ユーザーはモデルごとに認証情報の設定を追加します。
リモートから取得。predefined-model と同様に統一されたプロバイダー認証情報のみが必要ですが、モデル一覧はその認証情報を使用してプロバイダーから取得されます。
ModelFeature#
Agent 推論。一般的に 70B を超えるモデルは思考連鎖(chain-of-thought)の能力を備えています。
ビジョン(画像理解)。
ツール呼び出し。
複数ツール呼び出し。
ストリーミングツール呼び出し。
FetchFrom#
事前定義モデル。
リモートモデル。
LLMMode#
テキスト補完。
チャット。
ParameterRule#
モデル呼び出しで使用される実際のパラメータ名。
使用するテンプレート。
5 つのパラメータテンプレートが事前定義されています。
temperaturetop_pfrequency_penaltypresence_penaltymax_tokens
これらの名前のいずれかを use_template に設定すると、entities.defaults.PARAMETER_RULE_TEMPLATE のデフォルト設定を継承します。その場合に必要なのは name と use_template のみです。追加で設定したパラメータは、テンプレートのデフォルト値を上書きします。openai/llm/gpt-3.5-turbo.yaml と 新しいモデルプロバイダーの作成 の例を参照してください。
パラメータが必須かどうか。デフォルトは False です。
デフォルト値。
最小値。数値タイプのみ。
最大値。数値タイプのみ。
保持する小数桁数。数値タイプのみ。
ドロップダウンのオプション値。type が string の場合のみ適用されます。設定されていないか null の場合、値は制限されません。
PriceConfig#
入力(プロンプト)の単価。
出力(返されるコンテンツ)の単価。
価格の単位。例えば 100 万トークンあたりの価格設定の場合、単価に対応する単位トークン数は 0.000001 です。
通貨単位。
ProviderCredentialSchema#
認証情報フォームの仕様。
ModelCredentialSchema#
認証情報フォームの仕様。
CredentialFormSchema#
フォーム項目の変数名。
フォーム項目のタイプ。
フォーム項目が必須かどうか。
デフォルト値。
ドロップダウンの内容。select および radio タイプに固有です。
最大入力長。text-input タイプに固有です。0 は制限なしを意味します。
他のフォーム項目の値が指定した条件を満たす場合にのみこの項目を表示します。空の場合は常に表示します。
FormType#
テキスト入力コンポーネント。
パスワード入力コンポーネント。
単一選択ドロップダウン。
ラジオコンポーネント。
スイッチコンポーネント。true と false のみサポートします。
FormOption#
ドロップダウンのオプション値。
他のフォーム項目の値が指定した条件を満たす場合にのみこのオプションを表示します。空の場合は常に表示します。
FormShowOnObject#
他のフォーム項目の変数名。
他のフォーム項目の変数値。
関連リソース#
- モデルアーキテクチャの詳細:モデルプラグインのアーキテクチャ仕様
- 新しいモデルをすばやく統合する:これらのルールを適用して新しいモデルを追加する
- 一般仕様:プラグインマニフェストの設定
- 新しいモデルプロバイダーを作成する:新しいモデルプロバイダープラグインを開発する