数据结构
消息返回
Dify 支持文本 链接 图片 文件BLOB JSON 等多种消息类型,你可以通过以下不同的接口返回不同类型的消息。
在默认情况下,一个工具在 workflow 中的输出会包含 files text json 三个固定变量,且你可以通过下面的方法来返回这三个变量的数据。
例如使用 create_image_message 来返回图片,但是同时工具也支持自定义的输出变量,从而可以更方便地在 workflow 中引用这些变量。
图片 URL
只需要传递图片的 URL,Dify 将通过链接自动下载图片并返回给用户。链接
如果你需要返回一个链接,使用以下接口。文本
如果你需要返回一个文本消息,使用以下接口。blob文件的原始数据,bytes 类型。meta文件的元数据。如果开发者需要明确的文件类型,请指定mime_type,否则 Dify 将使用octet/stream作为默认类型。
JSON
如果你需要返回一个格式化的 JSON,可以使用以下接口。这通常用于 workflow 中的节点间的数据传递。在 agent 模式中,大部分大模型也都能够阅读和理解 JSON。object一个 Python 的字典对象,会被自动序列化为 JSON。
变量
对于非流式输出的变量,你可以使用以下接口返回,如创建多份,后者将覆盖前者。流式变量
如果你想以“打字机”效果输出一段文字,可以使用流式变量输出文本。如果你在chatflow 应用中使用 answer 节点并引用了该变量,那么文本将以“打字机”的效果输出。但目前该方法仅支持字符串类型的数据。
返回自定义变量
如果想要在workflow 应用中引用 tool 的输出变量,则有必要提前定义有哪些变量可能被输出。Dify 插件支持使用 json_schema格式的输出变量定义,以下是一个简单的示例:
output_schema,其中包含一个 name 字段,此时可以在 workflow 中引用该字段。但是请注意,还需要在工具的实现代码中返回一个变量才可以真正使用,否则将得到一个 None 返回结果。
编辑此页面 | 提交问题