在这里插入图片描述

1.开始节点

开始 节点是每个 Dify WorkflowChatflow 应用的“入口”,负责收集用户的初始输入与上下文信息,为后续节点的执行提供必要的数据支持。

定义与作用

  • 定义:预设的必备节点,应用运行时首先被触发,用于采集使用者输入的各种信息(文本、文件等),同时注入一系列系统级变量。

  • 主要作用

    1. 采集前置输入:让用户按照应用设计的格式,主动填写关键参数或上传文件,减少后续模型提问的歧义。
    2. 初始化系统变量:将 sys.querysys.user_idsys.app_id 等内置变量注入流程,便于整个工作流或对话的上下文管理、分支判断与日志监控。

配置项

1. 输入字段(Input Fields)

在“开始”节点的配置页,可自定义为用户收集哪些信息,所有字段都可设为“必填”或“可选”。支持六种类型:

类型 含义 适用场景示例
文本 单行短文本,最多 256 字符 用户姓名、项目名称、短问句
段落 多行长文本 项目背景、详细描述、用例要求
下拉选项 预设固定选项列表 产品类型、文档格式、语种选择
数字 仅限数字输入 时间范围跨度、数量阈值
单文件 单个文件上传(文档/图片/音视频等) 用户简历、合同附件、数据样本
文件列表 批量文件上传 多份报告、图片集、音视频素材

Tip:若需对上传的图片、音频或视频进行进一步处理,可结合“外部数据工具”节点,将文件先传入自定义脚本或第三方服务做格式转换与提取。

2. 系统变量(System Variables)

“开始”节点自动注入平台预设变量,供后续所有节点全局读取。

2.1 Workflow 应用中的系统变量
变量名 类型 说明
sys.files [LEGACY] Array[File] 用户上传的图片(如启用了“图片上传”)。
sys.user_id String 本次运行的唯一用户标识。
sys.app_id String 应用(Workflow)本身的唯一标识。
sys.workflow_id String 工作流定义的唯一 ID,用于区分不同流程结构。
sys.workflow_run_id String 每次流程执行的唯一实例 ID,便于日志跟踪与监控。
2.2 Chatflow 应用中的系统变量
变量名 类型 说明
sys.query String 用户在对话框中首次输入的文本。
sys.files Array[File] 用户在对话中上传的文件。
sys.dialogue_count Number 当前对话轮数(每触发一次用户输入即 +1),可用于分支逻辑或多轮回顾。
sys.conversation_id String 整个会话的唯一标识,保证多轮问答在同一上下文中持续。
sys.user_id String 分配给每个使用者的唯一标识符,用于区分不同用户对话。
sys.app_id String Chatflow 应用本身的唯一 ID。
sys.workflow_id String 与 Workflow 共用,用于记录底层节点结构。
sys.workflow_run_id String 与 Workflow 共用,用于日志与监控。

使用场景示例

  1. 智能周报生成

    • 输入字段:姓名(文本)、日期区间(下拉或数字)、工作内容(段落)。
    • 意义:帮助 LLM 理解要生成哪位同事、哪个时间段的周报,以及背景细节。
  2. 合同审查助手

    • 输入字段:上传合同 PDF(单文件)、选择审查类型(下拉)、补充说明(段落)。
    • 意义:自动将合同文本提取入后续“知识检索”节点,再由 LLM 结合类型给出审查要点。
  3. 多轮对话问答机器人

    • 输入字段:首问(文本),可选上传资料(文件列表)。
    • 意义sys.dialogue_count 计数后续对话轮数,实现第 N 轮回顾或自动 summary。

2.LLM节点

LLM 节点 是 Dify 工作流/对话流中调用大语言模型(LLM)的核心组件,它能够处理从“开始”节点传来的自然语言或文件输入,执行生成、理解、分类、翻译、编程等多种任务。

定义与作用

  • 定义:在可视化画布中添加的“调用大语言模型”节点,通过已配置的模型与提示词(Prompt),对输入内容进行推理与生成。
  • 作用:承接前置节点(如“开始”或“知识检索”)提供的上下文变量,调用选定的 LLM 进行自然语言处理,从而输出文本、分类标签、代码片段、翻译结果等。

应用场景

  1. 意图识别:对客服咨询进行分类,决定后续流程走向(如退款、技术支持、投诉等)。
  2. 文本生成:根据主题或关键词,撰写文章、总结报告、营销文案。
  3. 内容分类:批量处理邮件或评论,自动标注类别(咨询/投诉/垃圾信息)。
  4. 文本转换:翻译、摘要、格式转换(如 Markdown ↔ HTML)。
  5. 代码生成:辅助编程需求,生成业务代码、测试用例、SQL 查询等。
  6. RAG(检索增强生成):结合“知识检索”节点,重新组织检索到的文档段落,给出精准回答。
  7. 多模态理解:使用具备视觉能力的模型,分析图片或 PDF,回答图像问答。

配置流程

  1. 添加节点

    • 在画布上右键或点击前节点末端的“+”,选择 LLM 节点。
  2. 选择模型

    • 支持 OpenAI(GPT 系列)、Anthropic(Claude 系列)、Google(Gemini 系列)等主流模型。
    • 初次使用需至 “系统设置 → 模型供应商” 完成授权与接入。
  3. 设置模型参数

    • 温度Top P最大 Token惩罚系数 等,控制输出的随机性与重复率。
    • 可直接选用系统预设的「创意」「平衡」「精确」三套参数。
  4. 填写上下文

    • 将上游节点输出变量(如 resulttextsys.query 等)插入为上下文变量,为提示词提供背景信息。
  5. 编写提示词(Prompt)

    • 聊天模型:配置 SYSTEM / USER / ASSISTANT 三段角色提示;
    • 补全模型:填写单一提示内容。
    • 可通过 “/” 调出变量插入菜单,也可使用 提示生成器 AI 辅助起草。
  6. 高级设置(可选)

    • 开启记忆:自动携带对话历史,适用于 Chatflow 多轮对话;
    • 视觉功能:勾选支持多模态模型分析文件;
    • Jinja-2 模板:在提示词中嵌入逻辑与变量转换,满足复杂业务需求;
    • 错误重试:配置最大重试次数与间隔;
    • 异常处理:定义备用分支,防止节点失败中断主流程。

特殊变量说明

  • 上下文变量:通常指“知识检索”或“文档提取器”节点的输出,用于在提示词中为 LLM 提供外部知识。
  • 文件变量:部分模型原生支持 PDF、DOCX、图片等文件输入,可直接在提示词中插入文件变量进行分析。
  • 会话历史:仅在 Chatflow 且选用补全模型时可用,用于将历史对话注入当前 Prompt。

结构化输出(JSON Schema)

  • 目的:让 LLM 按预定义的 JSON 结构输出,保证字段类型与层级可解析、可验证。
  • 可视化编辑:拖拽式添加字段,填写名称、类型(string/number/object/array)、描述和枚举等属性。
  • 代码编辑:直接编写或粘贴完整 JSON Schema,支持高级特性如 patternoneOf
  • AI 生成:在编辑器内调用模型,自动从示例 JSON 或自然语言描述生成 Schema。
  • 使用方式:在 LLM 节点 “输出变量” 区域打开“结构化开关”后配置。

高级功能

  1. 记忆与对话角色

    • 调整记忆窗口大小或精确控制传递轮数;
    • 自定义角色前缀(如 Human/Assistant、User/AI),提升多模型兼容性。
  2. Jinja-2 模板

    • 通过模板语法进行条件判断、循环、变量格式化,轻量实现数据转换。
  3. 错误重试与异常处理

    • 支持最多 10 次自动重试,间隔可设(如 5000ms);
    • 异常分支可捕捉 Token 超限、缺少变量等错误,自定义备用输出或分支流程。

典型使用案例

  • 知识库问答

    1. “知识检索”节点检索相关文档段落→输出 result
    2. 在 LLM 节点“上下文变量”插入 result
    3. Prompt 中引导模型引用知识、给出答案与出处。
  • ChatPDF 应用

    1. “开始”节点上传 PDF 文件→sys.files
    2. 上游添加“文档提取器”节点提取文本→text
    3. 在 LLM Prompt 中插入 text,实现对 PDF 内容的问答。
  • 客户信息采集表单

    1. 设计结构化输出 Schema(如 nameemailphone 等字段);
    2. LLM 节点按 Schema 返回 JSON;
    3. 下游节点可直接解析并存入数据库。
Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐