Author Yeuoly,Allen 本文档详细介绍了Dify插件中Endpoint的结构和实现方式,以彩虹猫项目为例。内容包括如何定义Endpoint组、配置接口、实现_invoke方法以及处理请求和响应。文档详细解释了各种YAML配置字段的含义和使用方法。
本文将以彩虹猫项目为例,说明插件内的 Endpoint 的结构。Endpoint是插件对外暴露的HTTP接口,可用于与外部系统集成。完整的插件代码请参考 GitHub 仓库。
一个 Endpoint
组是多个 Endpoint
的集合,在 Dify
插件内新建 Endpoint
时可能需要填写如下配置。
除了 Endpoint Name
外,你可以通过编写组的配置信息来添加新的表单项,点击保存后,你可以看到其中包含的多个接口,它们将使用相同的配置信息。
settings
(map[string] ProviderConfig ):Endpoint 配置定义endpoints
(list[string], required):指向具体的 endpoint
接口定义path
(string):遵循 werkzeug 接口标准method
(string):接口方法,仅支持HEAD
GET
POST
PUT
DELETE
OPTIONS
extra
(object):除基础信息外的配置信息
python
(object)
source
(string):实现该接口的源代码需要实现一个继承自 dify_plugin.Endpoint
子类,并实现 _invoke
方法。
r
(Request):werkzeug
中的 Request
对象values
(Mapping):从 path 中解析到的路径参数settings
(Mapping):该 Endpoint
的配置信息werkzeug
中的 Response
对象,支持流式返回示例代码:
如果您正在学习插件开发,建议先阅读插件开发入门指南和开发者速查表。