课程简介
如果你正在寻找一个能够快速上手、系统性掌握 AI 应用开发的平台,那 Dify 很可能正是你需要的。作为一款开源的大语言模型应用开发平台,Dify 将后端即服务(BaaS)和 LLMOps 的理念融合在一起,让开发者——无论你是新手还是有一定经验的——都能高效地构建生产级的生成式 AI 应用。跟着这套教程走下来,你会从零开始,逐步摸清 AI 应用的设计、开发、调试和部署全链路,最后能独立做出满足业务需求的智能体和自动化工作流。
第一部分:基础概念 (Foundations)
这一部分会先帮你打好地基,把 Dify 的核心概念理清楚,后面动手做项目时才会顺手。
第一章:Dify 入门
- 1.1 Dify 是什么?
- Dify 的定义、核心价值与优势
- 为什么选 Dify:和 LangChain 这类开发库比有什么不一样
- 主要功能一览:Agent 构建、工作流编排、RAG 引擎……
- 1.2 Dify 平台初探
- 注册并登录 Dify Cloud
- 本地化部署(Docker Compose 一把梭)
- 界面导航:工作室、知识库、工具等核心模块
- 1.3 创建你的第一个 AI 应用
- 应用类型:聊天助手、Agent、文本生成、工作流
- 从模板创建 vs 创建空白应用
- 发布应用与 API 访问介绍
第二章:提示词工程 (Prompt Engineering)
- 2.1 提示词基础
- 什么是提示词,为什么它这么关键
- 高质量提示词的设计原则
- 2.2 Dify 中的提示词编排
- 用变量(Variables)实现动态交互
- 上下文(Context)与会话历史(Conversation History)怎么用
- 调试与优化:日志分析 + 模型比较
- 2.3 案例:设计一个角色扮演应用的提示词
- 打造“金牌面试官”或“旅游规划师”的系统提示词
第三章:节点 (Nodes) 与工作流 (Workflow) 核心
- 3.1 工作流基础
- Chatflow 与 Workflow 的区别和适用场景
- 可视化画布的基本操作:节点创建、连接与配置
- 3.2 核心节点详解
| 节点名称 | 类型 | 功能描述 | 典型应用场景 |
|---|---|---|---|
| 开始 (Start) | 核心节点 | 定义工作流启动的初始参数 | 初始化用户会话、设置默认参数 |
| 结束 (End) | 核心节点 | 定义工作流结束的输出内容 | 返回最终结果、结束交互 |
| 回复 (Answer) | 核心节点 | 定义 Chatflow 中的回复内容 | 生成自然语言回复 |
| 大语言模型 (LLM) | AI/模型节点 | 调用大语言模型处理任务 | 回答问题、创作文本、语义分析 |
| 知识检索 | 数据处理节点 | 从知识库检索相关文本 | 提供背景知识辅助 LLM |
| 问题分类 | AI/模型节点 | 通过 LLM 对用户输入分类 | 自动路由问题至对应流程 |
| 条件分支 (IF/ELSE) | 控制流节点 | 根据条件拆分流程分支 | 处理不同用户意图 |
| 代码执行 (Code) | 数据处理节点 | 运行 Python/NodeJS 代码 | 数据转换、调用外部 API |
| 模板转换 (Template) | 数据处理节点 | 用 Jinja2 模板生成文本 | 生成报告、批量文本处理 |
| 变量聚合器 | 数据处理节点 | 合并多路分支变量输出 | 整合多步骤结果 |
| 参数提取器 | 数据处理节点 | 从自然语言提取结构化参数 | 解析用户指令关键信息 |
| 迭代 (Iteration) | 控制流节点 | 对列表逐项执行操作 | 批量处理任务 |
| HTTP 请求 | 外部交互节点 | 通过 HTTP 获取外部数据 | 调用 API、生成图片 |
| 工具 (Tools) | 外部交互节点 | 调用内置工具或子工作流 | 集成第三方服务 |
| 变量赋值 | 数据处理节点 | 将值写入可写变量 | 存储中间结果 |
| 循环 (Loop) | 控制流节点 | 重复执行至满足退出条件 | 轮询状态更新 |
第二部分:实战部分 (Practical Labs)
这一部分精选了10个贴近真实业务场景的案例,通过一步步拆解,让你在实践中把知识转化成能力。
案例一:构建企业级 AI 智能客服
- 场景:利用公司内部文档,搭建一个能回答员工或客户问题的智能客服。
- 拆解:创建知识库 → 上传文档(PDF/TXT)→ 构建 RAG 工作流 → 优化检索策略 → 发布为聊天机器人。
案例二:打造个人专属的 Notion AI 助手
- 场景:将 Dify 与 Notion 集成,实现对 Notion 数据库的智能查询和内容生成。
- 拆解:使用 HTTP 节点调用 Notion API → 设计查询和写入工作流 → 实现自动化会议纪要整理。
案例三:AI 自动化生成社交媒体内容(小红书风格)
- 场景:输入一个主题,自动生成符合小红书风格的文案和标签。
- 拆解:设计多步生成工作流 → LLM 节点生成初稿 → LLM 节点进行风格润色 → 提取关键词生成标签。
案例四:多模态应用——智能发片识别与比对
- 场景:上传两张发片图片,自动识别关键信息并进行比对。
- 拆解:使用支持多模态的 LLM 节点 → 设计 Prompt 提取发片要素(金额、日期、发片号)→ 通过代码或 LLM 节点进行逻辑比对。
案例五:AI Agent 实战——构建智能 AI 面试官
- 场景:一个可以进行多轮对话、根据简历和岗位要求随机提问并进行初步评估的 AI 面试官。
- 拆解:配置 Agent 应用 → 设计复杂的系统提示词定义角色和能力 → 接入知识库(面试题库)→ 添加语音转换(TTS/ASR)功能。
案例六:自动化工作流——一键生成流程图/思维导图
- 场景:输入一段描述性文字,自动生成对应的 Mermaid 格式图表代码。
- 拆解:设计工作流,引导 LLM 将自然语言转换为结构化图表代码 → 结合外部工具渲染图表。
案例七:连接外部世界——打造一个能联网搜索的 AI 助手
- 场景:构建一个能获取实时信息的旅游规划或新闻摘要 Agent。
- 拆解:在 Agent 中配置并使用 Google Search 或其他搜索工具 → 设计 Prompt 指导 Agent 何时搜索 → 结合网页抓取工具获取详细信息。
案例八:数据库智能查询助手
- 场景:通过自然语言与数据库交互,自动生成 SQL 查询并返回结果。
- 拆解:开发一个能执行 SQL 的工具插件 → 在 Agent 中调用该工具 → 设计 Prompt 将自然语言转换为 SQL 查询语句。
案例九:集成与扩展——将 Dify 应用接入钉钉/微信
- 场景:将内部的 AI 助手或机器人部署到企业微信或钉钉群聊中。
- 拆解:获取应用 API → 编写简单的中间服务(如 Flask)→ 对接企业微信或钉钉的机器人 Webhook。
案例十:多智能体协作——复杂任务处理(海报生成)
- 场景:通过多个 Agent 协同工作,完成“文案生成 → 设计风格确认 → AI 绘画”的复杂流程。
- 拆解:创建多个专门的 Agent(文案 Agent、设计 Agent)→ 使用工作流或主 Agent 对它们进行调度和串联。
第三部分:拔高与进阶 (Advanced Topics)
到了这一步,你要开始深入研究 Dify 的高级能力了。这些内容能帮你从“会用”变成“专家”。
第十一章:插件 (Plugins) 开发与应用
- 11.1 Dify 插件体系介绍
- 11.2 插件开发入门
- 环境准备与脚手架工具使用
- 开发一个自定义的工具插件(如:天气查询)
- 11.3 插件的打包与发布
第十二章:MCP(模型上下文协议)与 Agent 策略
- 12.1 MCP 概念解析
- 12.2 使用 MCP 插件连接外部服务(如 Zapier)
- 12.3 在 Agent 和工作流中配置和使用 MCP 工具
第十三章:API 深度使用
- 13.1 Dify API 认证与调用
- 获取 API 密钥与 Base URL
- 使用 cURL 或 Python 调用 API
- 13.2 对话型与文本生成型应用 API 的区别
- 13.3 流式 (Streaming) 与阻塞 (Blocking) 模式
- 13.4 案例:通过 API 实现批量自动化任务
