> ## Documentation Index
> Fetch the complete documentation index at: https://dify-6c0370d8-add-new-agent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# モデル仕様

> このドキュメントでは、Difyモデルプラグイン開発のコア概念と構造について詳細に定義しています。モデルプロバイダー（Provider）、AIモデルエンティティ（AIModelEntity）、モデルタイプ（ModelType）、設定方法（ConfigurateMethod）、モデル機能（ModelFeature）、パラメータルール（ParameterRule）、価格設定（PriceConfig）、および各種認証情報モードの詳細なデータ構造仕様が含まれます。

<Note> ⚠️ このドキュメントはAIによって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/develop-plugin/features-and-specs/plugin-types/model-designing-rules)を参照してください。</Note>

* モデルプロバイダールールは [Provider](#provider) エンティティに基づいています。
* モデルルールは [AIModelEntity](#aimodelentity) エンティティに基づいています。

> 以下のすべてのエンティティは `Pydantic BaseModel` に基づいており、`entities` モジュールで確認できます。

### Provider

<ParamField path="provider" type="string">
  プロバイダー識別子、例：`openai`
</ParamField>

<ParamField path="label" type="object">
  プロバイダー表示名、i18n、`en_US`（英語）と `zh_Hans`（中国語）の両方の言語を設定可能

  <ParamField path="zh_Hans" type="string">
    中国語ラベル、設定されていない場合はデフォルトで `en_US` を使用
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語ラベル
  </ParamField>
</ParamField>

<ParamField path="description" type="object">
  プロバイダーの説明、i18n

  <ParamField path="zh_Hans" type="string">
    中国語の説明
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語の説明
  </ParamField>
</ParamField>

<ParamField path="icon_small" type="object">
  プロバイダーの小アイコン、対応するプロバイダー実装ディレクトリ下の `_assets` ディレクトリに保存

  <ParamField path="zh_Hans" type="string">
    中国語アイコン
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語アイコン
  </ParamField>
</ParamField>

<ParamField path="icon_large" type="object">
  プロバイダーの大アイコン、対応するプロバイダー実装ディレクトリ下の `_assets` ディレクトリに保存

  <ParamField path="zh_Hans" type="string">
    中国語アイコン
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語アイコン
  </ParamField>
</ParamField>

<ParamField path="background" type="string">
  背景色の値、例：#FFFFFF、空の場合はフロントエンドのデフォルト色値が表示されます
</ParamField>

<ParamField path="help" type="object">
  ヘルプ情報

  <ParamField path="title" type="object">
    ヘルプタイトル、i18n

    <ParamField path="zh_Hans" type="string">
      中国語タイトル
    </ParamField>

    <ParamField path="en_US" type="string" required>
      英語タイトル
    </ParamField>
  </ParamField>

  <ParamField path="url" type="object">
    ヘルプリンク、i18n

    <ParamField path="zh_Hans" type="string">
      中国語リンク
    </ParamField>

    <ParamField path="en_US" type="string" required>
      英語リンク
    </ParamField>
  </ParamField>
</ParamField>

<ParamField path="supported_model_types" type="array[ModelType]" required>
  サポートされるモデルタイプ
</ParamField>

<ParamField path="configurate_methods" type="array[ConfigurateMethod]" required>
  設定方法
</ParamField>

<ParamField path="provider_credential_schema" type="ProviderCredentialSchema" required>
  プロバイダー認証情報仕様
</ParamField>

<ParamField path="model_credential_schema" type="ModelCredentialSchema">
  モデル認証情報仕様
</ParamField>

### AIModelEntity

<ParamField path="model" type="string" required>
  モデル識別子、例：`gpt-3.5-turbo`
</ParamField>

<ParamField path="label" type="object">
  モデル表示名、i18n、`en_US`（英語）と `zh_Hans`（中国語）の両方の言語を設定可能

  <ParamField path="zh_Hans" type="string">
    中国語ラベル
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語ラベル
  </ParamField>
</ParamField>

<ParamField path="model_type" type="ModelType" required>
  モデルタイプ
</ParamField>

<ParamField path="features" type="array[ModelFeature]">
  サポートされる機能のリスト
</ParamField>

<ParamField path="model_properties" type="object" required>
  モデルプロパティ

  <ParamField path="mode" type="LLMMode">
    モード（モデルタイプ `llm` で利用可能）
  </ParamField>

  <ParamField path="context_size" type="integer">
    コンテキストサイズ（モデルタイプ `llm` および `text-embedding` で利用可能）
  </ParamField>

  <ParamField path="max_chunks" type="integer">
    最大チャンク数（モデルタイプ `text-embedding` および `moderation` で利用可能）
  </ParamField>

  <ParamField path="file_upload_limit" type="integer">
    最大ファイルアップロード制限、単位：MB（モデルタイプ `speech2text` で利用可能）
  </ParamField>

  <ParamField path="supported_file_extensions" type="string">
    サポートされるファイル拡張子形式、例：mp3,mp4（モデルタイプ `speech2text` で利用可能）
  </ParamField>

  <ParamField path="default_voice" type="string">
    デフォルト音声、必須：alloy,echo,fable,onyx,nova,shimmer（モデルタイプ `tts` で利用可能）
  </ParamField>

  <ParamField path="voices" type="array">
    利用可能な音声のリスト（モデルタイプ `tts` で利用可能）

    <ParamField path="mode" type="string">
      音声モデル
    </ParamField>

    <ParamField path="name" type="string">
      音声モデルの表示名
    </ParamField>

    <ParamField path="language" type="string">
      音声モデルでサポートされる言語
    </ParamField>
  </ParamField>

  <ParamField path="word_limit" type="integer">
    単一変換の単語制限、デフォルトは段落分割（モデルタイプ `tts` で利用可能）
  </ParamField>

  <ParamField path="audio_type" type="string">
    サポートされるオーディオファイル拡張子形式、例：mp3,wav（モデルタイプ `tts` で利用可能）
  </ParamField>

  <ParamField path="max_workers" type="integer">
    テキストからオーディオへの変換でサポートされる同時タスク数（モデルタイプ `tts` で利用可能）
  </ParamField>

  <ParamField path="max_characters_per_chunk" type="integer">
    チャンクあたりの最大文字数（モデルタイプ `moderation` で利用可能）
  </ParamField>
</ParamField>

<ParamField path="parameter_rules" type="array[ParameterRule]">
  モデル呼び出しパラメータルール
</ParamField>

<ParamField path="pricing" type="PriceConfig">
  価格情報
</ParamField>

<ParamField path="deprecated" type="boolean">
  非推奨かどうか。非推奨の場合、モデルリストには表示されなくなりますが、すでに設定されているものは引き続き使用できます。デフォルトはFalseです。
</ParamField>

### ModelType

<ParamField path="llm" type="string">
  テキスト生成モデル
</ParamField>

<ParamField path="text-embedding" type="string">
  テキスト埋め込みモデル
</ParamField>

<ParamField path="rerank" type="string">
  リランクモデル
</ParamField>

<ParamField path="speech2text" type="string">
  音声からテキスト
</ParamField>

<ParamField path="tts" type="string">
  テキストから音声
</ParamField>

<ParamField path="moderation" type="string">
  コンテンツモデレーション
</ParamField>

### ConfigurateMethod

<ParamField path="predefined-model" type="string">
  事前定義モデル - ユーザーは統一されたプロバイダー認証情報を設定するだけで、プロバイダー下の事前定義モデルを使用できることを示します。
</ParamField>

<ParamField path="customizable-model" type="string">
  カスタマイズ可能モデル - ユーザーは各モデルの認証情報設定を追加する必要があります。
</ParamField>

<ParamField path="fetch-from-remote" type="string">
  リモートから取得 - `predefined-model` 設定方法と同様に、統一されたプロバイダー認証情報のみが必要ですが、モデルは認証情報を使用してプロバイダーから取得されます。
</ParamField>

### ModelFeature

<ParamField path="agent-thought" type="string">
  エージェント推論、一般的に70B以上のモデルには思考連鎖機能があります。
</ParamField>

<ParamField path="vision" type="string">
  ビジョン、すなわち：画像理解。
</ParamField>

<ParamField path="tool-call" type="string">
  ツール呼び出し
</ParamField>

<ParamField path="multi-tool-call" type="string">
  複数ツール呼び出し
</ParamField>

<ParamField path="stream-tool-call" type="string">
  ストリーミングツール呼び出し
</ParamField>

### FetchFrom

<ParamField path="predefined-model" type="string">
  事前定義モデル
</ParamField>

<ParamField path="fetch-from-remote" type="string">
  リモートモデル
</ParamField>

### LLMMode

<ParamField path="completion" type="string">
  テキスト補完
</ParamField>

<ParamField path="chat" type="string">
  チャット
</ParamField>

### ParameterRule

<ParamField path="name" type="string" required>
  モデル呼び出しの実際のパラメータ名
</ParamField>

<ParamField path="use_template" type="string">
  テンプレートを使用
</ParamField>

> テンプレートの使用方法の詳細については、[新しいモデルプロバイダーの作成](/ja/develop-plugin/dev-guides-and-walkthroughs/creating-new-model-provider)の例を参照してください。

デフォルトで5つの事前設定された変数コンテンツテンプレートがあります：

* `temperature`
* `top_p`
* `frequency_penalty`
* `presence_penalty`
* `max_tokens`

`use_template` にテンプレート変数名を直接設定でき、entities.defaults.PARAMETER\_RULE\_TEMPLATE のデフォルト設定を使用します。`name` と `use_template` 以外のパラメータを設定する必要はありません。追加の設定パラメータが設定されている場合、デフォルト設定を上書きします。例については `openai/llm/gpt-3.5-turbo.yaml` を参照できます。

<ParamField path="label" type="object">
  ラベル、i18n

  <ParamField path="zh_Hans" type="string">
    中国語ラベル
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語ラベル
  </ParamField>
</ParamField>

<ParamField path="type" type="string">
  パラメータタイプ

  <ParamField path="int" type="string">
    整数
  </ParamField>

  <ParamField path="float" type="string">
    浮動小数点
  </ParamField>

  <ParamField path="string" type="string">
    文字列
  </ParamField>

  <ParamField path="boolean" type="string">
    ブール値
  </ParamField>
</ParamField>

<ParamField path="help" type="object">
  ヘルプ情報

  <ParamField path="zh_Hans" type="string">
    中国語ヘルプ情報
  </ParamField>

  <ParamField path="en_US" type="string" required>
    英語ヘルプ情報
  </ParamField>
</ParamField>

<ParamField path="required" type="boolean">
  必須かどうか、デフォルトはFalse
</ParamField>

<ParamField path="default" type="int/float/string/boolean">
  デフォルト値
</ParamField>

<ParamField path="min" type="int/float">
  最小値、数値タイプのみに適用
</ParamField>

<ParamField path="max" type="int/float">
  最大値、数値タイプのみに適用
</ParamField>

<ParamField path="precision" type="integer">
  精度、保持する小数桁数、数値タイプのみに適用
</ParamField>

<ParamField path="options" type="array[string]">
  ドロップダウンオプション値、`type` が `string` の場合のみ適用、設定されていないか null の場合、オプション値は制限されません
</ParamField>

### PriceConfig

<ParamField path="input" type="float">
  入力単価、すなわちプロンプト単価
</ParamField>

<ParamField path="output" type="float">
  出力単価、すなわち返されるコンテンツの単価
</ParamField>

<ParamField path="unit" type="float">
  価格単位、例えば1Mトークンあたりの価格の場合、単価に対応する単位トークン数は `0.000001` です
</ParamField>

<ParamField path="currency" type="string">
  通貨単位
</ParamField>

### ProviderCredentialSchema

<ParamField path="credential_form_schemas" type="array[CredentialFormSchema]" required>
  認証情報フォーム仕様
</ParamField>

### ModelCredentialSchema

<ParamField path="model" type="object" required>
  モデル識別子、デフォルト変数名は `model`

  <ParamField path="label" type="object" required>
    モデルフォーム項目の表示名

    <ParamField path="en_US" type="string" required>
      英語
    </ParamField>

    <ParamField path="zh_Hans" type="string">
      中国語
    </ParamField>
  </ParamField>

  <ParamField path="placeholder" type="object" required>
    モデルプロンプトコンテンツ

    <ParamField path="en_US" type="string" required>
      英語
    </ParamField>

    <ParamField path="zh_Hans" type="string">
      中国語
    </ParamField>
  </ParamField>
</ParamField>

<ParamField path="credential_form_schemas" type="array[CredentialFormSchema]" required>
  認証情報フォーム仕様
</ParamField>

### CredentialFormSchema

<ParamField path="variable" type="string" required>
  フォーム項目変数名
</ParamField>

<ParamField path="label" type="object" required>
  フォーム項目ラベル

  <ParamField path="en_US" type="string" required>
    英語
  </ParamField>

  <ParamField path="zh_Hans" type="string">
    中国語
  </ParamField>
</ParamField>

<ParamField path="type" type="FormType" required>
  フォーム項目タイプ
</ParamField>

<ParamField path="required" type="boolean">
  必須かどうか
</ParamField>

<ParamField path="default" type="string">
  デフォルト値
</ParamField>

<ParamField path="options" type="array[FormOption]">
  `select` または `radio` に固有のフォーム項目属性、ドロップダウンコンテンツを定義
</ParamField>

<ParamField path="placeholder" type="object">
  `text-input` に固有のフォーム項目属性、フォーム項目プレースホルダー

  <ParamField path="en_US" type="string" required>
    英語
  </ParamField>

  <ParamField path="zh_Hans" type="string">
    中国語
  </ParamField>
</ParamField>

<ParamField path="max_length" type="integer">
  `text-input` に固有のフォーム項目属性、最大入力長を定義、0は制限なしを意味
</ParamField>

<ParamField path="show_on" type="array[FormShowOnObject]">
  他のフォーム項目の値が条件を満たすときに表示、空の場合は常に表示
</ParamField>

#### FormType

<ParamField path="text-input" type="string">
  テキスト入力コンポーネント
</ParamField>

<ParamField path="secret-input" type="string">
  パスワード入力コンポーネント
</ParamField>

<ParamField path="select" type="string">
  単一選択ドロップダウン
</ParamField>

<ParamField path="radio" type="string">
  ラジオコンポーネント
</ParamField>

<ParamField path="switch" type="string">
  スイッチコンポーネント、`true` と `false` のみサポート
</ParamField>

#### FormOption

<ParamField path="label" type="object" required>
  ラベル

  <ParamField path="en_US" type="string" required>
    英語
  </ParamField>

  <ParamField path="zh_Hans" type="string">
    中国語
  </ParamField>
</ParamField>

<ParamField path="value" type="string" required>
  ドロップダウンオプション値
</ParamField>

<ParamField path="show_on" type="array[FormShowOnObject]">
  他のフォーム項目の値が条件を満たすときに表示、空の場合は常に表示
</ParamField>

#### FormShowOnObject

<ParamField path="variable" type="string" required>
  他のフォーム項目変数名
</ParamField>

<ParamField path="value" type="string" required>
  他のフォーム項目変数値
</ParamField>

## 関連リソース

* [モデルアーキテクチャの詳細](/ja/develop-plugin/features-and-specs/plugin-types/model-schema) - モデルプラグインのアーキテクチャ仕様の詳細
* [新しいモデルをすばやく統合する](/ja/develop-plugin/dev-guides-and-walkthroughs/creating-new-model-provider) - これらのルールを適用して新しいモデルを追加する方法を学ぶ
* [一般仕様](/ja/develop-plugin/features-and-specs/plugin-types/general-specifications) - プラグインマニフェストファイルの設定を理解する
* [新しいモデルプロバイダーを作成する](/ja/develop-plugin/dev-guides-and-walkthroughs/creating-new-model-provider) - まったく新しいモデルプロバイダープラグインを開発する

***

[Edit this page](https://github.com/langgenius/dify-docs/edit/main/en/develop-plugin/features-and-specs/plugin-types/model-designing-rules.mdx) | [Report an issue](https://github.com/langgenius/dify-docs/issues/new?template=docs.yml)
