摘要:本文是 Dify 学习笔记第 01 篇,围绕平台入门与实战展开,覆盖 Docker 私有化部署、五类应用(聊天助手、文本生成、Agent、ChatFlow、WorkFlow)的选型与用法,以及 RAG 知识库、MCP 工具接入等核心概念,并通过医学问答、自然语言查 MySQL、数据可视化三个实战案例建立体感,最后给出何时该从 Dify 下沉到 LangGraph 写代码的判断标准。
目录:
- 一、可视化导览
- 二、视频清单(16 集 · 约 2.9 小时)
- 三、Dify 是什么:平台层与技术栈定位
- 四、私有化部署(Docker)
- 五、五类应用与选型
- 5.1 聊天助手与知识库(RAG)
- 5.2 Agent 与工具、MCP
- 5.3 ChatFlow / WorkFlow 常用节点
- 六、三个实战案例
- 6.1 医学 RAG 问答
- 6.2 自然语言查 MySQL
- 6.3 数据可视化助手(WorkFlow)
- 七、平台 vs 框架:什么时候该离开 Dify
- 八、核心概念速查表
- 九、学习打卡
Dify学习笔记 01 · 平台入门与实战:部署、五类应用、RAG与MCP(第1-16集)
一句话总结:Dify 是国内团队面向国际的开源低代码 AI 应用平台(内置 LLMOps),本模块带你用 Docker 完成私有化部署、装好模型插件,跑通聊天助手、文本生成、Agent、ChatFlow、WorkFlow五类应用,理解知识库背后的 RAG 原理与 MCP 工具接入,并完成医学问答、自然语言查 MySQL、数据可视化三个实战——先用平台建立体感,再判断何时该下沉到 LangGraph 写代码。
素材覆盖说明:模块一共 16 集。第 8、9、13、14、15 集本地无视频/字幕,第 6 集有视频无字幕,这些小节依据课程大纲标题 + Dify 官方标准能力补全,并在清单与正文用 📝 标注;其余 10 集据本地字幕据实整理。课程基于 Dify 1.8 稳定版(新版 1.10.1 有少量 bug),界面名称请以你实际部署版本、官方文档为准。
一、可视化导览
本模块的部署链路、五类应用选型、RAG 流程与三个实战已整理成一张可交互知识图谱,文档内可直接查看,也可打开在线版(手机端适配):
模块一 · Dify 平台入门与实战 · 可视化图谱
二、视频清单(16 集 · 约 2.9 小时)
集 | 标题 | 时长 | 核心内容 |
|---|---|---|---|
01 | Dify 快速入门与私有化部署 | 15:01 | 平台定位、在线版 vs 开源部署、Docker 起服务 |
02 | Dify 搭建个人聊天助手 | 18:45 | 提示词变量、挂知识库、RAG 原理、三种发布方式 |
03 | Dify 搭建文本生成应用 | 02:43 | 一次性输入输出,翻译/摘要/文案场景 |
04 | Dify 搭建 Agent 智能助手 | 07:52 | 聊天助手 + 自主调工具,工具三类来源 |
05 | 创建 ChatFlow(数据智能查询助手)上 | 16:26 | 节点有向无环图、开始/知识检索/LLM/回复节点 |
06 | 创建 ChatFlow(数据智能查询助手)下 | 15:56 | 📝 代码节点连 MySQL、自然语言查库闭环(有视频无字幕,据相邻集补全) |
07 | 创建 WorkFlow(数据可视化助手) | 27:13 | 文档提取器→LLM 整理 CSV→代码节点拼 ECharts 渲染 |
08 | 大模型开发涉及哪些技术栈 | 26:04 | 📝 平台层/框架层/模型层技术栈全景(本地无素材,大纲补全) |
09 | 从 0 到 1 掌握 Dify1.8 | 04:04 | 📝 1.8 版本导学与学习路径(本地无素材,大纲补全) |
10 | 什么是 Dify1.8 | 02:19 | Dify 定义、能力边界、内置 LLMOps |
11 | Dify1.8 安装 | 04:30 | Docker / Docker Compose 前置准备 |
12 | Dify1.8 部署 | 03:13 | .env 配置、docker compose up -d、容器健康检查 |
13 | Dify1.8 模型供应商 | 05:41 | 📝 安装 DeepSeek(推理)+ 通义千问(embedding)插件(本地无素材,大纲补全) |
14 | Dify1.8 创建我的聊天助手 | 12:48 | 📝 提示词变量、知识库关联、调试发布(本地无素材,大纲补全) |
15 | Dify1.8 创建文本生成应用 | 03:09 | 📝 表单输入与一次性生成配置(本地无素材,大纲补全) |
16 | Dify1.8 创建 Agent | 09:10 | Agent 自主规划、工具调用、MCP 接入 |
三、Dify 是什么:平台层与技术栈定位
Dify 是一个低代码 / 无代码的 AI 应用开发平台,把"接模型、做提示词、挂知识库、编排流程、发布监控"这些大模型应用的通用环节封装成可视化界面,并内置 LLMOps(模型与应用的运维观测能力)。它面向两类人:不懂工程但想快速做 AI 应用的业务人员,以及想快速验证想法、少写胶水代码的开发者。
层级 | 代表 | 特点 |
|---|---|---|
平台层(本模块) | Dify、Coze、FastGPT | 高层封装、拖拽即用、上线快,适合标准应用与 PoC |
框架层(模块二) | LangChain / LangGraph、LlamaIndex | 底层写代码,可控可扩展,适合复杂业务与多 Agent |
模型层 | DeepSeek、Qwen、GPT 等 | 提供推理与 embedding 能力,通过 API / 私有化部署接入 |
在线版 cloud.dify.ai 开箱即用但数据在公网;企业/学习首选开源版 Docker 离线部署,数据自主、可接本地模型。课程统一使用 1.8 稳定版。
四、私有化部署(Docker)
部署的本质是用 Docker Compose 一次性拉起 Dify 所需的十几个容器(API、Worker、Web、数据库、向量库、Redis、代理等)。
标准步骤:
克隆 Dify 官方仓库到本地,进入 docker 目录。
把环境模板
.env.example复制为.env,按需修改密钥、端口、向量库类型。执行
docker compose up -d后台拉起全部容器。用
docker compose ps检查:十几个容器应全部 healthy / running,不能有 restarting 或 unhealthy。浏览器打开本地地址,初始化管理员账号,进入"设置 → 模型供应商"安装模型插件。
模型配置建议:推理模型装DeepSeek(对话/工具调用),embedding 模型装通义千问(知识库向量化)。若用 Ollama 跑本地模型,容器内访问宿主机地址要填host.docker.internal,不能填 127.0.0.1(容器里的 localhost 指容器自身)。
五、五类应用与选型
应用类型 | 形态 | 典型场景 |
|---|---|---|
聊天助手 | 多轮对话,支持提示词变量 | 客服、问答机器人、个人助理(最常用入口) |
文本生成 | 一次性输入 → 一次性输出,无多轮 | 翻译、摘要、文案、报告批处理 |
Agent 智能体 | 聊天助手 + 模型自主决定调用哪些工具 | 联网查询、天气、跨系统执行任务 |
ChatFlow | 面向对话的节点有向无环图,可分支/循环 | 需要确定性流程控制的复杂对话(核心) |
WorkFlow | 面向单次自动化任务,固定输入输出 | 批处理、数据加工、自动化流水线(核心) |
5.1 聊天助手与知识库(RAG)
聊天助手通过提示词中的{{变量名}}接收用户输入,再关联一个或多个知识库。知识库的本质就是 RAG:
离线:文档上传后被切块(chunk)、清洗,再用 embedding 模型向量化存入向量库。
在线:用户问题向量化后,与库中向量做余弦相似度召回 Top-K 片段。
增强:把召回片段作为上下文拼进提示词,连同问题一起交给 LLM。
生成:模型基于这些私有知识作答,显著减少幻觉、可追溯来源。
发布方式有三种:内嵌iframe、网页右下角script 悬浮气泡、浏览器插件。
5.2 Agent 与工具、MCP
Agent = 聊天助手 + 自主调用工具的能力。模型根据用户意图自行判断"要不要用工具、用哪个、传什么参数"。工具来源有三类:
市场内置工具:开箱即用,如网页搜索、天气、图片生成。
自定义工具:通过 OpenAPI / Swagger 描述文件,把你自己的 HTTP 接口接进来。
MCP 工具(重点):即 Anthropic 提出的 Model Context Protocol,分为 server 与 client 两端,用一套标准协议把外部能力暴露给大模型。课程演示把一个基于 SSE 传输的天气 MCP server 接入 Dify。
5.3 ChatFlow / WorkFlow 常用节点
工作流是一张节点有向无环图(DAG),最小闭环为:开始 → 知识检索 → LLM → 直接回复。常用节点包括:
节点 | 作用 |
|---|---|
问题分类 / 条件分支 | 按意图或字段值走不同分支(IF/ELSE) |
知识检索 | 从知识库召回相关片段 |
LLM | 调用大模型做理解、生成、SQL/代码编写 |
代码执行 | 运行 Python/JS 做确定性计算或查库 |
HTTP 请求 | 调用外部 API |
参数提取 / 文档提取器 | 从自然语言或上传文件中抽取结构化字段/表格 |
迭代 | 对列表逐项循环处理 |
模型选型坑:DeepSeek-R1 这类 reasoner 推理模型在工具链 / 工作流里容易因为输出多余的思考内容、格式不稳定而导致节点解析报错;工具节点、结构化输出场景建议改用 chat 模型(如 deepseek-chat / Qwen 满血版)。
六、三个实战案例
6.1 医学 RAG 问答
把医学资料建为知识库,用"开始 → 知识检索 → LLM → 直接回复"的最小 ChatFlow,让模型只基于召回的医学内容作答,跑通"私有知识库 + 对话"标准范式。
6.2 自然语言查 MySQL
把数据库的表结构(schema、字段含义)写进知识库。
用户用自然语言提问 → 知识检索召回相关表结构。
LLM 据此生成 SQL,提示词中严格限定只允许 SELECT,防止写操作破坏数据。
代码节点连接 MySQL 执行查询,把结果返回给用户或再交 LLM 转成自然语言。
6.3 数据可视化助手(WorkFlow)
文档提取器解析上传的 CSV / Excel。
LLM 理解数据并整理成规范结构。
代码节点据此拼出 ECharts 的 option 配置。
直接回复节点输出
```echarts代码块,Dify 前端直接渲染成图表。
七、平台 vs 框架:什么时候该离开 Dify
Dify 是平台(高层封装),LangChain / LangGraph 是框架(底层写代码)。当你需要——精细控制每一步流程、自定义召回与重排序策略、多 Agent 协作、复杂业务逻辑、深度定制状态与记忆——平台的拖拽节点已经不够用,就必须下沉到 LangChain / LangGraph 写代码,这正是模块二的内容。
八、核心概念速查表
概念 | 一句话理解 |
|---|---|
LLMOps | 对大模型应用做监控、评测、版本与运维的能力,Dify 内置 |
五类应用 | 聊天助手 / 文本生成 / Agent / ChatFlow / WorkFlow |
RAG | 切块 → embedding 入库 → 相似度召回 → 拼上下文 → LLM 生成 |
MCP | Model Context Protocol,标准化工具体协议,分 server / client |
OpenAPI 工具 | 用接口描述文件把自有 HTTP API 接成 Agent 工具 |
DAG | 有向无环图,工作流节点之间的连接结构 |
host.docker.internal | 容器内访问宿主机服务时使用的特殊域名 |
reasoner vs chat | 推理模型思考多、工具链易报错;工具/结构化场景用 chat 模型 |
九、学习打卡
能用 Docker Compose 在本地完整拉起 Dify,且容器无 restarting/unhealthy
会在 .env 中做基础配置,并初始化管理员账号
已装好 DeepSeek 推理模型与一个 embedding 模型并成功连通
能创建带 {{变量}} 的聊天助手并说出 RAG 四步流程
能区分聊天助手、文本生成、Agent、ChatFlow、WorkFlow 五类应用
能给 Agent 挂一个市场工具,并理解 MCP server/client 关系
能搭出"开始→知识检索→LLM→回复"的最小工作流
完成(或跟做)自然语言查 MySQL,且 SQL 被限制为 SELECT
完成(或跟做)CSV → ECharts 图表的数据可视化 WorkFlow
能说清什么场景该用 Dify、什么场景必须转 LangGraph 写代码
学习建议:本模块重在"建立体感",不要纠结每个节点的全部参数。建议先把部署和聊天助手跑通(约 1 小时),再重点投入 ChatFlow / WorkFlow 两个实战;📝 标注的补全小节请对照你部署版本的官方文档实操。能独立搭出一个带知识库的助手后,即可进入模块二学 LangGraph。