作为我们文档重组的一部分,此页面正在逐步淘汰。
点击此卡片跳转到包含最新信息的更新版本。
如果您在新的文档中发现任何差异或需要改进的地方,请使用页面底部的“报告问题”按钮。
llm
或 text_embedding
),在供应商模块下创建相应的子模块。确保每种模型类型有独立的逻辑分层,便于维护和扩展。
YAML
文件(例如 claude-3.5.yaml
)。按照 AIModelEntity 的规范编写文件内容,描述模型的参数和功能。
llm
或 text_embedding
等模型类型。需在供应商模块下创建相应的子模块,确保每种模型类型有独立的逻辑分层,便于维护和扩展。
当前支持模型类型如下:
llm
文本生成模型text_embedding
文本 Embedding
模型rerank
Rerank 模型speech2text
语音转文字tts
文字转语音moderation
审查Anthropic
为例,系列模型内仅包含 LLM 类型模型,因此仅需在 /models
路径下新建 /llm
文件夹,并新增不同型号模型的 yaml 文件。详细代码结构请参考 GitHub 代码仓库。
OpenAI
家族模型下包含 llm
和 text_embedding
,moderation
,speech2text
,tts
类模型,则需要在 /models
路径下为每种类型创建对应的文件夹。结构如下:
/models
路径下创建 llm.py
代码文件。以 Anthropic
为例,在 llm.py
中创建一个 Anthropic LLM 类并取名为 AnthropicLargeLanguageModel
,继承 __base.large_language_model.LargeLanguageModel
基类。
以下是部分功能的示例代码:
yield
关键字的函数会被识别为生成器函数,其返回类型固定为 Generator
。为了保证逻辑清晰并适应不同返回需求,同步返回和流式返回需要独立实现。
以下是示例代码(示例中参数进行了简化,实际实现时请根据完整参数列表编写):
InvokeError
类型,方便 Dify 针对不同错误做不同后续处理。
Runtime Errors:
InvokeConnectionError
调用连接错误InvokeServerUnavailableError
调用服务方不可用InvokeRateLimitError
调用达到限额InvokeAuthorizationError
调用鉴权失败InvokeBadRequestError
调用传参有误YAML
文件(例如 claude-3.5.yaml
)。按照 AIModelEntity 的规范编写文件内容,描述模型的参数和功能。
claude-3-5-sonnet-20240620
模型示例代码:
.env.example
文件并重命名为 .env
,将获取的远程服务器地址和调试 Key 等信息填入其中。
.env
文件
python -m main
命令启动插件。在插件页即可看到该插件已被安装至 Workspace 内。其他团队成员也可以访问该插件。