第 1 节 / 共 3 节

Dify 平台介绍与入门

🎯 了解 Dify 及其与 Coze 的区别;基于 Docker 完成 Dify 安装与入门实战。
📖 笔记

1.1 Dify 平台介绍

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 的定位有所不同,具体细节我在本章的第四小节再进行对比。

二、Dify 的安装

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

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

同时注意,在安装的过程中,需要严格按照教案的顺序执行,确保每个过程都正常执行。否则 dify 将无法正常运行。

1 安装 WSL(Windows Subsystem for Linux)

什么是 WSL?

WSL(Windows Subsystem for Linux)是微软推出的一项功能,它允许你在 Windows 系统上直接运行原生的 Linux 可执行文件,无需配置传统的虚拟机或采用双系统启动方式。

特性维度 详细说明
核心定义 Windows 的一个子系统,提供一个兼容层,用于在 Windows 上原生运行 Linux 二进制可执行文件(ELF 格式)。
主要版本 WSL 1:通过转换层将 Linux 系统调用实时翻译为 Windows 系统调用。WSL 2:基于轻量级虚拟机运行真实的 Linux 内核,提供完整的系统调用兼容性。
本质区别 WSL 1 是翻译层;WSL 2 是轻量级虚拟机(包含真实 Linux 内核)。
核心优势 无缝集成(同时使用 Windows 和 Linux 应用与文件系统)、高性能与轻量级(启动快,资源占用远低于传统虚拟机)、出色的兼容性(特别是 WSL 2,可运行 Docker 等复杂应用)。

因为 Docker 只能在 linux 上运行,所以需要先安装 WSL。我们需要安装的是 WSL2(推荐且默认的版本)。

参考地址:WSL 安装

使用命令行安装 WSL

打开具有管理员权限的 PowerShell,运行以下命令以安装 WSL,使用默认的:

📖 笔记

1.2 Dify 入门实战

1.2 Dify 平台入门实战-大语言模型微调语料构建

学习目标

  • 了解什么是大模型微调
  • 实现微调数据生成工作流

一、业务背景

1 什么是微调

微调(Fine-tuning)是指在已经预训练好的大规模模型基础上,通过进一步训练来适应特定任务或数据集的过程。这一过程体现了迁移学习的思想,即利用预训练模型在通用数据上学习到的知识,通过微调使其更好地服务于特定的应用场景。

微调的主要步骤:

  1. 选择预训练模型:从现有的大型预训练模型(如 qwen、deepseek、llama 等)中挑选适合任务需求的模型作为基础。
  2. 准备数据集:为特定任务准备高质量的训练和验证数据集,确保数据与目标任务紧密相关。
  3. 调整模型结构:根据任务需求,可能需要对模型结构进行微调,如增减层数、调整激活函数等。
  4. 设置训练参数:包括学习率、批处理大小、训练轮次等,这些参数将直接影响微调效果。
  5. 开始训练:在选定数据集上迭代训练模型,并观察验证集上的表现,适时调整训练策略。
  6. 评估与部署:使用测试集评估微调后的模型性能,满足要求后即可部署到实际应用中。

以上就是 AI 模型微调步骤,不管是模型微调和模型训练都少不了模型微调和模型训练需要的数据集。我们知道要想微调和训练模型数据集非常重要。数据集都是靠人工标注或者是通过程序来实现,对非技术人员不太友好,换句话说微调数据集制作门槛就非常高,普通小白是很难上手的。接下来我们就通过 dify 工作流生成大模型语料。

2 拓展:bert 模型微调

作为案例参考,不需要记忆。

3 微调语料的一般形式

对于模型微调,因为使用的模型不同,数据的格式也是不一样的。

比如上述的 bert 模型,它属于小模型的范畴。以分类任务为例,它的微调数据集是这样的【需要注意,这个格式是这样只是因为我们的业务如此。小模型的数据没有一个特定的格式,只要有输入和标签即可】:

💻 代码

Dify 入门代码(jieba / 页面嵌入 / 白马商城)

3 个文件