Skip to main content

Dify 应用

Dify 专为智能体应用构建而设计。在 Studio 中,你可以通过拖拽界面快速构建智能体工作流并将其发布为应用。你可以通过 API、Web 或作为 MCP 服务器访问已发布的应用。Dify 提供两种主要的应用类型:Workflow 和 Chatflow。在创建新应用时,你需要选择一种应用类型。
我们推荐选择 Workflow 或 Chatflow 作为你的应用类型。但除了这些之外,Dify 还提供 3 种更基础的应用类型:聊天机器人、Agent 和文本生成器。
应用类型选择器
这些应用类型在底层运行相同的工作流引擎,但提供了更简单的传统界面:
聊天机器人界面

Workflow

构建 Workflow 应用来处理单轮任务。Web 应用界面和 API 提供了便捷的批量执行多个任务的访问方式。
在底层,工作流构成了 Dify 中所有其他应用类型的基础。
每个工作流都从 开始 节点启动:通过用户交互或 API 调用触发应用程序。工作流可以发布为独立的 Web 应用或 MCP 服务器,通过后端服务 API 公开,或在其他 Dify 应用中用作工具。

Chatflow

Chatflow 是一种特殊类型的工作流应用,在对话的每一轮都会被触发。除了工作流功能外,Chatflow 还具有存储和更新自定义对话特定变量的能力,在大型语言模型节点中启用记忆功能,并在 Chatflow 运行的不同节点流式传输格式化的文本、图像和文件。 Chatflow 始终以开始节点启动。

Dify 领域特定语言

所有 Dify 应用都可以导出为 Dify 自有领域特定语言的 YAML 文件,你也可以直接从这些领域特定语言文件创建 Dify 应用。这使得将应用移植到其他 Dify 实例并与他人分享变得容易。

变量

变量是存储信息的标记容器,因此你可以通过引用其名称来查找和使用该信息。在构建 Dify 应用时,你会遇到不同类型的变量: 输入:你可以在开始节点为你的应用最终用户指定任意数量的输入变量来填写。
开始节点变量
此外,开始节点还带有一组输入变量,你可以在流程中稍后引用。根据应用类型(Workflow 或 Chatflow),会提供不同的变量。
用户输入在每次工作流运行开始时设置,无法更新。 输出:每个节点产生一个或多个输出,可以在后续节点中引用。例如,大型语言模型节点有以下输出:
LLM 节点输出变量
与输入一样,节点输出也无法更新。 环境变量:使用环境变量来存储你应用特定的敏感信息,如 API 密钥。这允许在密钥和 Dify 应用本身之间进行清晰分离,因此在分享你的应用领域特定语言时,你不必承担暴露密码和密钥的风险。环境变量也是常量,无法更新。 会话变量(仅 Chatflow):这些变量是对话特定的,意味着它们在单个对话的多轮 Chatflow 运行中持续存在,因此你可以存储和访问动态信息,如待办事项列表和令牌成本。你可以通过变量分配器节点更新会话变量的值:
会话变量面板

变量引用

在配置输入字段时,你可以通过从下拉菜单中选择,轻松将变量传递给任何节点:
变量选择下拉菜单
你还可以通过键入 / 斜杠并从下拉菜单中选择所需变量,将变量值插入到复杂的文本输入中。
斜杠插入变量