本文档由 AI 自动翻译。如有任何不准确之处,请参考 英文原版。模型插件通过两个实体描述自身:Provider 负责认证并列出所支持的模型,每个模型对应一个 AIModelEntity,用于声明其类型、特性和参数。
下文所有实体均为
dify_plugin.entities.model 模块中的 Pydantic BaseModel 子类。快速决策
仅需认证:预定义模型
用户粘贴 API key 即可获得你的完整模型列表。设置
configurate_methods: [predefined-model],并在 YAML 中定义每个模型的 AIModelEntity。用户自备模型
用户自行配置模型名称和 base URL(OpenAI 兼容端点、自定义部署)。设置
configurate_methods: [customizable-model],详见 自定义模型。混合
内置目录加上用户添加的自定义模型。同时使用两种
configurate_methods 取值。完整示例
完整的端到端示例,详见 创建新模型供应商。
Provider
string
供应商标识符,例如
openai。string
背景颜色值,例如
#FFFFFF。若为空,则使用前端默认颜色。object
array[ModelType]
required
支持的模型类型。
array[ConfigurateMethod]
required
配置方法。
ProviderCredentialSchema
required
供应商凭据规范。
ModelCredentialSchema
模型凭据规范。
AIModelEntity
string
required
模型标识符,例如
gpt-3.5-turbo。ModelType
required
模型类型。
array[ModelFeature]
支持的特性。
object
required
模型属性。
LLMMode
模式(模型类型
llm)。integer
上下文大小(模型类型
llm 和 text-embedding)。integer
最大分段数(模型类型
text-embedding 和 moderation)。integer
最大文件上传大小,单位为 MB(模型类型
speech2text)。string
支持的文件扩展名,例如
mp3,mp4(模型类型 speech2text)。string
默认语音,取值为
alloy、echo、fable、onyx、nova、shimmer 之一(模型类型 tts)。integer
单次转换的字数限制,默认按段落分割(模型类型
tts)。string
支持的音频文件扩展名,例如
mp3,wav(模型类型 tts)。integer
文字转音频转换的并发任务数(模型类型
tts)。integer
每个分段的最大字符数(模型类型
moderation)。array[ParameterRule]
模型调用参数的规则。
PriceConfig
价格信息。
boolean
模型是否已弃用。已弃用的模型不再出现在模型列表中,但已有配置仍可继续使用。默认为
False。ModelType
string
文本生成模型。
string
文本嵌入模型。
string
重排序模型。
string
语音转文字。
string
文字转语音。
string
内容审核。
ConfigurateMethod
string
预定义模型。用户只需配置一次统一的供应商凭据,即可使用该供应商下的所有预定义模型。
string
自定义模型。用户需要为每个模型添加凭据配置。
string
从远程获取。与
predefined-model 类似,只需统一的供应商凭据,但模型列表是使用这些凭据从供应商获取的。ModelFeature
string
Agent 推理。通常 70B 以上的模型具备思维链能力。
string
视觉(图像理解)。
string
工具调用。
string
多工具调用。
string
流式工具调用。
FetchFrom
string
预定义模型。
string
远程模型。
LLMMode
string
文本续写。
string
对话。
ParameterRule
string
required
模型调用中使用的实际参数名称。
string
使用的模板。
temperaturetop_pfrequency_penaltypresence_penaltymax_tokens
use_template 中设置上述名称之一,即可继承 entities.defaults.PARAMETER_RULE_TEMPLATE 中的默认配置,此时只需提供 name 和 use_template。你设置的任何额外参数都会覆盖模板默认值。参见 openai/llm/gpt-3.5-turbo.yaml 以及 创建新模型供应商 中的示例。
boolean
参数是否必填。默认为
False。int/float/string/boolean
默认值。
int/float
最小值。仅适用于数值类型。
int/float
最大值。仅适用于数值类型。
integer
保留的小数位数。仅适用于数值类型。
array[string]
下拉选项值。仅当
type 为 string 时适用。若未设置或为 null,则不限制取值。PriceConfig
float
输入(提示词)单价。
float
输出(返回内容)单价。
float
价格单位。例如,若按每 1M token 计价,则单价对应的单位 token 数为
0.000001。string
货币单位。
ProviderCredentialSchema
array[CredentialFormSchema]
required
凭据表单规范。
ModelCredentialSchema
object
required
array[CredentialFormSchema]
required
凭据表单规范。
CredentialFormSchema
string
required
表单项变量名。
FormType
required
表单项类型。
boolean
表单项是否必填。
string
默认值。
array[FormOption]
下拉内容。仅适用于
select 和 radio 类型。integer
最大输入长度。仅适用于
text-input 类型。0 表示无限制。array[FormShowOnObject]
仅当其他表单项的值满足给定条件时才显示此项。为空表示始终显示。
FormType
string
文本输入组件。
string
密码输入组件。
string
单选下拉框。
string
单选按钮组件。
string
开关组件。仅支持
true 和 false。FormOption
string
required
下拉选项值。
array[FormShowOnObject]
仅当其他表单项的值满足给定条件时才显示此选项。为空表示始终显示。
FormShowOnObject
string
required
其他表单项的变量名。
string
required
其他表单项的变量值。