作为我们文档重组的一部分,此页面正在逐步淘汰。
点击此卡片跳转到包含最新信息的更新版本。
如果您在新的文档中发现任何差异或需要改进的地方,请使用页面底部的“报告问题”按钮。
__base.model_provider.ModelProvider
基类,实现以下接口:
credentials
(object) 凭据信息provider_credential_schema
定义,传入如:api_key
等。验证失败请抛出 errors.validate.CredentialsValidateFailedError
错误。注:预定义模型需完整实现该接口,自定义模型供应商只需要如下简单实现即可:
model
(string) 模型名称credentials
(object) 凭据信息provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。验证失败请抛出 errors.validate.CredentialsValidateFailedError
错误。
InvokeError
类型,方便 Dify 针对不同错误做不同后续处理。Runtime Errors:
InvokeConnectionError
调用连接错误InvokeServerUnavailableError
调用服务方不可用InvokeRateLimitError
调用达到限额InvokeAuthorizationError
调用鉴权失败InvokeBadRequestError
调用传参有误InvokeConnectionError
等异常。
__base.large_language_model.LargeLanguageModel
基类,实现以下接口:
model
(string) 模型名称credentials
(object) 凭据信息provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。
prompt_messages
(array[PromptMessage]) Prompt 列表Completion
类型,则列表只需要传入一个 UserPromptMessage 元素即可;若模型为 Chat
类型,需要根据消息不同传入 SystemPromptMessage, UserPromptMessage, AssistantPromptMessage, ToolPromptMessage 元素列表
- model_parameters
(object) 模型参数模型参数由模型 YAML 配置的 parameter_rules
定义。
- tools
(array[PromptMessageTool]) [optional] 工具列表,等同于 function calling
中的 function
。即传入 tool calling 的工具列表。
- stop
(array[string]) [optional] 停止序列模型返回将在停止序列定义的字符串之前停止输出。
- stream
(bool) 是否流式输出,默认 True流式输出返回 Generator[LLMResultChunk],非流式输出返回 LLMResult。
- user
(string) [optional] 用户的唯一标识符可以帮助供应商监控和检测滥用行为。
LLM 调用
。该接口需要根据对应model
选择合适的tokenizer
进行计算,如果对应模型没有提供tokenizer
,可以使用AIModel
基类中的_get_num_tokens_by_gpt2(text: str)
方法进行计算。
OpenAI
供应商下的大部分微调模型,可以通过其微调模型名称获取到其基类模型,如gpt-3.5-turbo-1106
,然后返回基类模型的预定义参数规则,参考 OpenAI 的具体实现。
__base.text_embedding_model.TextEmbeddingModel
基类,实现以下接口:
model
(string) 模型名称
credentials
(object) 凭据信息
凭据信息的参数由供应商 YAML 配置文件的 provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。
texts
(array[string]) 文本列表,可批量处理
user
(string) [optional] 用户的唯一标识符Embedding 调用
。
同上述 LargeLanguageModel
,该接口需要根据对应 model
选择合适的 tokenizer
进行计算,如果对应模型没有提供 tokenizer
,可以使用AIModel
基类中的_get_num_tokens_by_gpt2(text: str)
方法进行计算。
__base.rerank_model.RerankModel
基类,实现以下接口:
model
(string) 模型名称credentials
(object) 凭据信息provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。
- query
(string) 查询请求内容docs
(array[string]) 需要重排的分段列表score_threshold
(float) [optional] Score 阈值top_n
(int) [optional] 取前 n 个分段user
(string) [optional] 用户的唯一标识符__base.speech2text_model.Speech2TextModel
基类,实现以下接口:\
model
(string) 模型名称credentials
(object) 凭据信息provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。
- file
(File) 文件流user
(string) [optional] 用户的唯一标识符__base.text2speech_model.Text2SpeechModel
基类,实现以下接口:
model
(string) 模型名称credentials
(object) 凭据信息provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。
- content_text
(string) 需要转换的文本内容streaming
(bool) 是否进行流式输出user
(string) [optional] 用户的唯一标识符__base.moderation_model.ModerationModel
基类,实现以下接口:
model
(string) 模型名称credentials
(object) 凭据信息provider_credential_schema
或 model_credential_schema
定义,传入如:api_key
等。
- text
(string) 文本内容user
(string) [optional] 用户的唯一标识符TextPromptMessageContent
和 ImagePromptMessageContent
传入。
content
列表中的一部分。
content
列表中的一部分data
可以为 url
或者图片 base64
加密后的字符串。
few-shots
或聊天历史传入。
tool_calls
为调用模型传入 tools
后,由模型返回的 tool call
列表。
content
传入工具执行结果。
delta
实体