跳转至

1.1 Dify平台介绍

学习目标

  • 了解什么是Dify以及和Coze的区别
  • 掌握Dify基于docker的安装方式
  • 掌握Dify添加大模型
  • 实现第一个Dify案例

一、Dify平台介绍

Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service, Baas) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。即使你是非技术人员,也能参与到 AI 应用的定义和数据运营过程中。

由于 Dify 内置了构建 LLM 应用所需的关键技术栈,包括对数百个模型的支持、直观的 Prompt 编排界面、高质量的 RAG 引擎、稳健的 Agent 框架、灵活的流程编排,并同时提供了一套易用的界面和 API。这为开发者节省了许多重复造轮子的时间,使其可以专注在创新和业务需求上。

拓展:什么是Backend as Service

Backend as a Service(后端即服务,简称 BaaS)是一种云计算服务模式,它为移动应用和 Web 应用的开发者提供预先构建好的后端基础设施和功能服务,让开发者无需从零开始搭建和维护复杂的服务器端系统。

BaaS 平台通过统一的应用程序编程接口(API)和软件开发工具包(SDK),将常见的后端功能封装成即插即用的服务。下表列举了典型 BaaS 提供商通常会包含的核心服务。

BaaS 就像是为应用开发准备的“标准化后端模块工具箱”。它通过将通用的后端功能服务化,让你能像搭积木一样快速构建应用的后端支撑,从而将宝贵的资源集中在创造独特的前端业务逻辑和用户体验上

和前面我们所学过的Coze相似, Dify也是一个基于“工作流”编排的框架,能够以比较低的成本实现一个复杂的Agent。 但在实际工作中,Coze和Dify的定位有所不同,具体细节我在本章的第四小节再进行对比。

image-20251109152940506

二、Dify的安装

在安装 Dify 之前,请确保您的机器满足以下最低系统要求:

  • CPU >= 2 Core
  • RAM >= 4 GiB

1 安装 WSL(Windows Subsystem for Linux)

参考learn.microsoft.com/zh-cn/windo…

  1. 启用 WSL 打开具有管理员权限的 PowerShell,运行以下命令以安装 WSL:
wsl --install

安装完成后,重启电脑以完成配置。

  1. 选择 Linux 发行版 如果直接运行 wsl.exe --install -d ubuntu 报错,可以通过 Microsoft Store 搜索 "Linux" 并选择合适的 Ubuntu 版本进行安装。安装完成后,系统会提示你设置用户名和密码。

2 安装 Docker Desktop

  1. 下载 Docker Desktop 前往 Docker 官方文档 下载适用于 Windows 的 Docker Desktop。
  2. 安装并配置 Docker 根据安装向导完成 Docker 的安装,并确保启用了 WSL 2 后端支持。这将允许 Docker 在 WSL 环境中无缝运行。

安装完毕,进入设置页面(右上角齿轮)

image-20251109184442633


修改配置,如下:

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "dns": [
    "8.8.8.8",
    "223.5.5.5"
  ],
  "experimental": true,
  "registry-mirrors": [
    "https://docker.nju.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

这里主要需要修改的是registry-mirrors项 ,其他的可以不修改。如下:

{
  "registry-mirrors": [
    "https://docker.nju.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

这一步的操作主要是为了给docker增加国外的镜像源,以便加快拉取镜像的速度。 这个对比pip更迫切,因为镜像文件往往比python库要大的多。

3 安装dify环境

3.1下载dify项目压缩包

可以克隆也可以直接下载

image-20250428153234792

克隆命令:

git clone https://github.com/langgenius/dify.git

3.2 进入项目根目录找到docker文件夹

image-20250428153146464

3.3 env文件重命名

image-20250429085744561

3.4 右键打开命令行

image-20250428153332953

3.5 运行docker环境

docker compose up -d

image-20250428153408823

这里对网络有一定的要求,需要能访问docker官网。 一次不成功的可以多尝试几次

4 启动dify

在浏览器地址栏输入即可安装:

http://127.0.0.1/install

首次登录需进行注册:

image-20251109151147727

dify的主界面如下所示:

image-20251109151344471

三、第一个Dify案例

1 大模型接入

在 Dify 中,我们按模型的使用场景将模型分为以下3类:

  1. 系统推理模型。 在创建的应用中,用的是该类型的模型。智聊、对话名称生成、下一步问题建议用的也是推理模型。
  2. Embedding 模型。在知识库中,将分段过的文档做 Embedding 用的是该类型的模型。在使用了知识库的应用中,将用户的提问做 Embedding 处理也是用的该类型的模型。
  3. 语音转文字模型。将对话型应用中,将语音转文字用的是该类型的模型。

在 Dify 的 设置 > 模型供应商 中设置要接入的模型。

image-20251109151700153

2 创建一个应用

在“工作室”页面创建一个空白应用,如下:

image-20251109154651177

在这里我们可以看到,Dify中“应用”的概念和Coze不同, 这里的应用是工作流或者是对话流, 而不是Coze中完整的智能体或者h5应用。

搭建一个简单的工作流:

image-20251109155114313

首先,第一步,在“开始”工作流增加一个query字段,如下:

image-20251109155312293

添加一个LLM节点,如下:

image-20251109155451149

设置LLM节点中各变量:

image-20251109155434319

系统提示词:

你是一个无所不能的助手能够根据用户输入的问题返回对应的答案

添加一个结束节点,并接收LLM节点的输出作为输入:

image-20251109155709233

3 试运行工作流

点击试运行,输入

西安有什么好吃的

如下图:

image-20251109160021139

结果如下:

image-20251109160107536

四、 Dify和Coze的对比

虽然Dify和Coze看起来都像是基于“工作流”,但是两者的定位略有不同,它们在设计哲学、目标用户和适用场景上有着明显的区别:

比较维度 Coze(扣子) Dify
核心定位 面向消费者的AI应用商店/生态,强调快速、易用的对话式AI(Bot)开发 面向开发者的LLMOps与BaaS平台,强调生产级AI应用的全生命周期管理
设计理念 模块化套件(Coze Studio用于构建,Coze Loop用于监控优化) 集成化平台,提供从原型到部署的一体化体验
目标用户 非技术人员、产品/运营、内容创作者,零代码快速上手 开发者、AI工程师、企业技术团队,需要一定技术背景
技术栈 后端:Golang;前端:React+TypeScript 后端:Python/Flask;前端:Next.js+TypeScript
模型支持 优先集成字节及国内模型(如豆包),生态相对封闭 支持超50个开源与商用模型,强调模型中立与灵活性,避免供应商锁定
功能重心 卓越的对话体验,易于发布到字节系平台(如飞书、抖音) 复杂工作流编排与RAG,提供精细控制和强大的知识库管理能力
部署与数据 主要以SaaS服务为主;数据由平台托管 支持强大的私有化部署,保障数据安全与合规,适合金融、医疗等行业
开源协议 部分组件开源(Apache-2.0) 开源(Apache-2.0),采用Open-Core模式

在实际工作中,我们该如何选择?

在以下情况下,果断选择 Coze:

  • 身份是新手、运营或内容创作者,想零代码在几分钟内搭建一个AI聊天机器人。
  • 核心需求是快速原型验证,或者为抖音、飞书等平台制作一个营销助手、客服机器人。
  • 不关心底层技术细节,追求“开箱即用”的流畅体验。

在以下情况下,Dify 是你的更优选择:

  • 身份是开发者或企业技术决策者,需要构建复杂、定制化的生产级AI应用(如企业知识库、智能问答系统)。
  • 对数据隐私、安全性和合规性有高要求,必须进行私有化部署。
  • 希望拥有对模型、工作流和数据的完全控制权,避免被单一生态绑定。
  • 技术团队有能力进行二次开发:团队中有开发者,希望基于开源代码进行定制开发,或将AI能力通过API集成到现有业务系统中

简单来说,求快、求简单、个人/轻量级项目,选Coze;求强、求复杂、企业级/定制化需求,选Dify