Dify的安装与介绍

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

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

大模型接入

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

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

图片

模型使用:

图片

应用类型

Dify 中提供了五种应用类型:

  • 聊天助手:基于 LLM 构建对话式交互的助手
  • 文本生成应用:面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
  • Agent:能够分解任务、推理思考、调用工具的对话式智能助手
  • 对话流:适用于定义等复杂流程的多轮对话场景,具有记忆功能的应用编排方式
  • 工作流:适用于自动化、批处理等单轮生成类任务的场景的应用编排方式 图片

工作流

工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。

Dify 工作流分为两种类型:

  • Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。

  • Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。 节点是工作流中的关键构成,通过连接不同功能的节点,执行工作流的一系列操作。

  • 开始(Start):定义一个 workflow 流程启动的初始参数。

  • 结束(End):定义一个 workflow 流程结束的最终输出内容。

  • 大语言模型(LLM):调用大语言模型回答问题或者对自然语言进行处理。

  • 知识检索(Knowledge Retrieval):从知识库中检索与用户问题相关的文本内容,可作为下游 LLM 节点的上下文。

  • 问题分类(Question Classifier):通过定义分类描述,LLM 能够根据用户输入选择与之相匹配的分类。

  • 条件分支(IF/ELSE):允许你根据 if/else 条件将 workflow 拆分成两个分支。

  • 代码执行(Code):运行 Python / NodeJS 代码以在工作流程中执行数据转换等自定义逻辑。

  • 变量聚合(Variable Aggregator):将多路分支的变量聚合为一个变量,以实现下游节点统一配置。

  • 循环(Loop):循环节点用于执行依赖前一轮结果的重复任务,直到满足退出条件或达到最大循环次数。 图片

知识库

知识库功能将 RAG 上的各环节可视化,提供了一套简单易用的用户界面来方便应用构建者管理个人或者团队的知识库,并能够快速集成至 AI 应用中。

开发者可以将企业内部文档、规范信息等内容上传至知识库进行结构化处理,供后续 LLM 查询。

  1. 创建知识库。通过上传本地文件、导入在线数据或创建一个空的知识库。
  2. 指定分段模式。该阶段是内容的预处理与数据结构化过程,长文本将会被划分为多个内容分段。你可以在此环节预览文本的分段效果。
  3. 设定索引方法和检索设置。知识库在接收到用户查询问题后,按照预设的检索方式在已有的文档内查找相关内容,提取出高度相关的信息片段供语言模型生成高质量答案。
  4. 完成上传,在应用内关联知识库并使用

dify的安装

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

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

5.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 版本进行安装。安装完成后,系统会提示你设置用户名和密码。

5.2 安装 Docker Desktop

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

5.3 安装dify环境

下载dify项目压缩包

可以克隆 也可以直接下载

图片

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

图片

3、.env文件重命名

图片

4、右键打开命令行

图片

5、运行docker环境

docker compose up -d

图片

5.4 启动dify

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

http://127.0.0.1/install

首次登录需进行注册:

图片

dify的主界面如下所示:

图片