Skip to content

Dify 平台实践

学习目标:掌握 Dify 的部署方式和核心功能,能用工作流编排器搭建多步骤 Agent,理解 Dify 与 Coze 的架构差异

预计时间:40 分钟

难度等级:⭐⭐⭐☆☆


一、Dify 是什么

先说结论:Dify 是 Coze 的"高配版"。更灵活,但也更复杂。

Coze 像自动挡汽车——踩油门就走。Dify 像手动挡——你可以控制每一个齿轮,但需要更多学习。

Dify 的核心卖点有三个:

  1. 开源:代码在 GitHub 上,可以自己部署,数据完全可控
  2. 工作流编排:可视化的流程设计器,比 Coze 更灵活
  3. 模型无关:OpenAI、Claude、豆包、DeepSeek 随意切换

二、部署方式

Dify 提供两种部署方式,适合不同场景:

2.1 云端版(最快上手)

直接访问 https://cloud.dify.ai 注册使用。

优点缺点
零部署,注册即用数据存在 Dify 服务器上
免费额度够个人学习高级功能需要付费
自动更新国内访问可能偏慢

适合谁?

先用云端版学习。等你真的要在企业里用,再考虑本地部署。

2.2 本地 Docker 部署(数据完全自控)

前置条件:需要安装 Docker 和 Docker Compose。

bash
# 1. 克隆 Dify 仓库
git clone https://github.com/langgenius/dify.git

# 2. 进入 docker 目录
cd dify/docker

# 3. 复制环境变量模板
cp .env.example .env

# 4. 启动(首次会拉取镜像,需要几分钟)
docker compose up -d

# 5. 打开浏览器访问
# http://localhost/install

首次访问会进入安装向导,设置管理员账号。整个过程大约 10 分钟

优点缺点
数据完全在本地需要一台服务器(最低 2 核 4G)
无调用限制(自备模型 API Key)需要基础 Docker 知识
可以接内网服务升级需要手动操作

2.3 两种方式对比

维度云端版本地部署
上手时间2 分钟10-30 分钟
数据安全依赖 Dify 云完全自控
成本免费额度 + 付费升级服务器成本 + 模型 API 费用
适合场景学习、个人项目企业、敏感数据

三、工作流编排器详解

Dify 的核心功能是工作流编排器。这是它和 Coze 最大的区别——Coze 也有工作流,但 Dify 的更灵活、更强大。

3.1 什么是工作流?

工作流就是把 Agent 的行为拆成一串步骤,每一步有明确的输入和输出。

用户提问 → 意图识别 → 知识库检索 → LLM 总结 → 输出回答

在 Dify 里,这些步骤是一个个"节点",你把它们用线连起来,像画流程图一样。

3.2 核心节点类型

节点类型功能类比
开始(Start)定义工作流的输入变量函数的参数
LLM调用大语言模型处理文本大脑
知识检索从知识库中搜索相关内容查资料
条件分支(IF/ELSE)根据条件走不同路径分岔路口
代码执行运行 Python/JavaScript 代码计算器
HTTP 请求调用外部 API打电话给其他系统
变量聚合合并多个分支的结果汇总报告
结束(End)定义工作流的输出函数的返回值

3.3 搭建一个简单工作流

案例:智能客服工作流

开始 → LLM(意图识别)→ 条件分支 → 三个分支处理 → 变量聚合 → 结束

步骤 1:创建工作流

在 Dify 首页点击"创建空白应用" → 选择"工作流"类型 → 命名。

步骤 2:配置开始节点

设置输入变量:

  • 变量名:user_query
  • 类型:文本(String)
  • 说明:用户的问题

步骤 3:添加 LLM 节点(意图识别)

  • 模型:选择你配置好的模型(如 GPT-4o 或 DeepSeek)
  • System Prompt:
你是一个意图分类器。根据用户的问题,判断意图属于哪一类:
- "product":产品咨询(价格、功能、对比)
- "support":售后支持(退货、维修、投诉)
- "general":一般问题(营业时间、地址、联系方式)

只输出分类标签,不要解释。
  • 输入:

步骤 4:添加条件分支

根据 LLM 节点的输出,走不同路径:

IF 输出 == "product" → 产品咨询处理
ELSE IF 输出 == "support" → 售后处理
ELSE → 一般问题处理

步骤 5:每个分支添加 LLM 节点

分别配置不同的人设和知识库:

  • 产品咨询分支:接产品知识库,用销售助手人设
  • 售后支持分支:接售后知识库,用客服人设
  • 一般问题分支:接公司信息知识库

步骤 6:变量聚合 + 结束

把三个分支的输出汇聚到一个变量,作为最终回答输出。


四、LLM 节点配置

LLM 节点是工作流里最核心的节点。配置好它,Agent 的回答质量就决定了。

4.1 关键配置项

配置项说明建议
模型选择用哪个 LLM简单任务用便宜模型(GPT-4o-mini),复杂任务用好模型(GPT-4o)
System PromptLLM 的行为指令越具体越好
Temperature回答的创造性/随机性客服场景用 0.1-0.3,创意场景用 0.7-0.9
Max Tokens回答的最大长度根据场景设置,避免浪费
上下文变量从前面的节点传入的变量 引用

4.2 变量传递

工作流的核心优势就是变量在节点间流转。每个节点可以接收前面节点的输出,处理后把结果传给下一个节点。

开始节点输出:user_query

LLM 节点输入:{{user_query}}  输出:intent_type

条件分支判断:intent_type == "product"?
     ↓ (yes)
知识检索输入:{{user_query}}  输出:search_results

LLM 节点输入:{{user_query}} + {{search_results}}  输出:final_answer

这种"数据流"的设计,让你可以精确控制每一步 Agent 拿到什么信息、做出什么决策。


五、与 Coze 的架构差异

5.1 核心差异对比

维度CozeDify
设计理念产品驱动,简单好用技术驱动,灵活可定制
工作流有,但节点类型有限丰富,支持代码节点、HTTP 请求等
部署纯 SaaS,不能本地部署开源,可本地部署
模型管理平台内置模型自己配置 API Key,支持所有主流模型
数据安全数据在字节跳动服务器自部署时数据完全自控
调试能力基础预览详细日志、节点级别调试
版本管理基础支持版本回滚
API 集成有,但功能有限完整的 API,支持 Webhook

5.2 什么时候用 Coze,什么时候用 Dify?

你的场景是什么?

├─ 快速验证想法、个人使用 → Coze
├─ 需要发到微信/豆包等国内渠道 → Coze

├─ 需要本地部署、数据不能外传 → Dify
├─ 需要复杂的多步骤工作流 → Dify
├─ 需要接大量自定义 API → Dify
├─ 需要精细的调试和日志 → Dify

└─ 不确定 → 两个都试试,不花钱

花叔的观点

Coze 和 Dify 不是竞争关系,是互补关系。先用 Coze 验证想法,确认需求后再用 Dify 做生产级方案。很多团队的实际工作流就是这样的。


六、适用场景分析

6.1 Dify 最适合的场景

场景为什么 Dify 更合适
企业客服系统数据不能外传,需要本地部署
数据处理流水线工作流编排 + 代码执行节点
多模型 A/B 测试同一工作流中切换不同模型对比效果
API 聚合服务多个 HTTP 请求节点串联
内容审核系统条件分支 + 多级审核工作流

6.2 Dify 不太适合的场景

场景为什么不合适更好的选择
快速做个 demo 给老板看配置工作流需要时间Coze
个人知识库问答杀鸡用牛刀Coze 或 FastGPT
不想管服务器需要自己部署和维护Coze 云端版

七、常见问题

Q1:Dify 自部署需要什么配置?

最低配置:2 核 CPU、4GB 内存、20GB 磁盘。推荐配置:4 核 CPU、8GB 内存、50GB 磁盘。

Q2:Dify 支持哪些模型?

几乎所有主流模型:OpenAI GPT 系列、Claude、Gemini、DeepSeek、Kimi、GLM、Llama、Mistral 等。只要模型提供兼容 OpenAI 格式的 API,就能接入。

Q3:Dify 工作流和 Coze 工作流能互相迁移吗?

不能。两者的工作流格式不同,需要手动重新搭建。


本节小结

回顾要点

✅ Dify 是开源的 Agent 开发平台,核心优势是灵活的工作流编排和可本地部署

✅ 部署分两种:云端版(2 分钟上手)和本地 Docker(10 分钟,数据自控)

✅ 工作流编排器是 Dify 的核心——把 Agent 行为拆成节点,用线连成流程图

✅ 变量在节点间流转,实现精确的信息控制和决策逻辑

✅ Coze 和 Dify 是互补关系,不是竞争关系——先 Coze 验证,再 Dify 深化


← 返回章节目录 | 继续学习:知识库与工作流编排 →

最近更新

基于 MIT LICENSE 许可发布