PowerData

以下文章来源于DataSpeed ,作者张文慧

[

DataSpeed .

慢慢积累,稳稳前行,用数据说话,为成长助力

](#)

在介绍Dify之前,我们需要思考一个问题:

我们为什么需要一个Dify这样一个大语言模型应用开发平台。

你或许可以把 LangChain 这类的开发库(Library)想象为有着锤子、钉子的工具箱。与之相比,Dify 提供了更接近生产需要的完整方案,Dify 好比是一套脚手架,并且经过了精良的工程设计和软件测试。

如果你有兴趣,或者已经在用Dify了,欢迎添加作者微信,我们组织了一个Dify的互助群,欢迎来提问或者分享你的经验。

一、Dify简介

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

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

二、Dify与大模型开发

Dify 是苏州一家公司开源的平台,因此在使用上符合国人习惯,更重要的是它完全开源,能够快速做出大模型应用的同时,还能嵌入你已有的平台。因此有很多便利。

  • 创业,快速的将你的 AI 应用创意变成现实,无论成功和失败都需要加速。在真实世界,已经有几十个团队通过 Dify 构建 MVP(最小可用产品)获得投资,或通过 POC(概念验证)赢得了客户的订单。
  • 将 LLM 集成至已有业务,通过引入 LLM 增强现有应用的能力,接入 Dify 的 RESTful API 从而实现 Prompt 与业务代码的解耦,在 Dify 的管理界面是跟踪数据、成本和用量,持续改进应用效果。
  • 作为企业级 LLM 基础设施,一些银行和大型互联网公司正在将 Dify 部署为企业内的 LLM 网关,加速 GenAI 技术在企业内的推广,并实现中心化的监管。
  • 探索 LLM 的能力边界,即使你是一个技术爱好者,通过 Dify 也可以轻松的实践 Prompt 工程和 Agent 技术,在 GPTs 推出以前就已经有超过 60,000 开发者在 Dify 上创建了自己的第一个应用。

三、Dify部署

Dify部署方式多种多样,可以简单点使用云服务,或者使用本地部署,这里简单演示一下本地docker部署方式。

安装条件

安装 Dify 之前, 请确保你的机器已满足最低安装要求:

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

安装步骤

  1. clone dify源码

git clone https://github.com/langgenius/dify.git --branch 1.0.0 #目前最新版本

  1. 启动Dify

进入 Dify 源代码的 Docker 目录,复制环境配置文件,启动Docker

cd dify/docker cp .env.example  .env docker compose up -d

  1. Dify服务

可以看到dify启动了11个服务,包括 3 个业务服务 api / worker / web,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox

,建议你可以找一个docker可视化页面方便管理这么多docker。

四、Dify 功能简介

本次入门篇,简单介绍dify几个常用的主要功能,会在陆续的文章里详细介绍,并且分享一些使用踩坑等经验。

4.1 接入大模型

AI相关的应用,最在意的就是大模型的接入了吧。

从模型类型上来说,Dify支持推理、嵌入、向量、语音转文本、文本转语音 共五种模型。

如,对ollama,只支持推理模型与嵌入模型,尽管ollama上也有别的模型。至于不同的模型有什么具体的区别,有必要的话,后面会单独写一篇。

添加模型的方式

个人账号-->设置-->工作空间-->模型供应商-->选择具体的供应商-->添加连接信息,如下

在添加好具体的模型后,记得在系统模型设置里为每一种模型选择已有的模型,就可以在具体使用中用起来了。

4.2 知识库

前一阵关于大模型最火的应用,莫过于知识库了。本次先简单介绍一下使用,后面会针对dify知识库出一篇详细的介绍包含原理等内容

知识库数据源

Dify支持多种源方式上传知识库。

  1. 本地上传知识库:支持批量上传txt、pdf等格式的文档,默认有大小限制。
  2. 导入在线数据:从Notion或网页中导入。

两种方式只能选其一,且后面无法更改。

知识库设置

从分段模式上来说,分为两种方式,通用模式VS父子模式,在索引上分为高质量与经济模式,在检索上分为向量检索、全文检索与混合检索。

分段模式核心差异

通用模式

父子模式

上下文连贯性

❌ 独立分段

✅ 父分段补充

检索精准度

中等

高 (子分段定位)

适用索引

经济/高质量

仅高质量

处理复杂度

简单

需要分层配置

索引方式对比

索引方式

技术原理

适用场景

核心功能

限制条件

高质量

使用 Embedding 嵌入模型将文本转换为向量

高精度语义匹配、多语言处理场景

支持向量/全文/混合检索,可配置 Rerank 模型,允许 Q&A 模式(仅社区版)

索引方式不可降级为“经济模式”;Q&A 模式仅支持中英日三语,消耗更多 LLM Tokens

经济

(文档未明确说明,推测为轻量化索引策略)

低成本快速检索、明确关键词场景

仅提供倒排索引方式,倒排索引仅支持 TopK设置项。

无法使用 Q&A 模式,检索精度可能较低

检索设置对比

检索类型

匹配原理

参数配置

优势

适用场景

向量检索

计算用户问题与文本向量的相似度

- Rerank 模型(可选) - TopK(默认3) - Score 阈值(默认0.5)

捕捉深层语义关联,适合模糊查询、多语言混合内容

用户提问包含复杂语义或需跨语言匹配

全文检索

关键词明文匹配(类搜索引擎)

- Rerank 模型(可选) - TopK(默认3) - Score 阈值(默认0.5)

快速定位精确术语,计算资源消耗低

用户明确知晓查询关键词或术语

混合检索

结合向量与关键词匹配,支持权重/Rerank 优化

- 权重设置(语义/关键词比例) - Rerank 模型(可选) - TopK/Score 阈值

灵活平衡精度与效率,可自定义权重适应不同业务需求

需兼顾语义理解与关键词精确匹配的复杂场景

其实在知识库的设置上还支持召回测试/引用归属,能够对知识库进行细致的调优。

知识库使用

知识库可以作为外部知识提供给大语言模型用于精确回复用户问题,你可以在 Dify 的所有应用类型[2]内关联已创建的知识库。

以聊天助手为例,使用流程如下:

  1. 进入 工作室 -- 创建应用 --创建聊天助手
  2. 进入 上下文设置 点击 添加 选择已创建的知识库
  3. 在 上下文设置 -- 参数设置 内配置召回策略
  4. 在 添加功能 内打开 引用和归属
  5. 在 调试与预览 内输入与知识库相关的用户问题进行调试
  6. 调试完成之后保存并发布为一个 AI 知识库问答类应用

4.3 工作流

工作流通过将复杂的任务分解成较小的步骤(节点)降低系统复杂度,减少了对提示词技术和模型推理能力的依赖,提高了 LLM 应用面向复杂任务的性能,提升了系统的可解释性、稳定性和容错性。在日常的使用中,dify的工作流使用非常频繁,不但可以自己开发,还可以导入别人优秀的工作流,目前github上已经有很多大佬在分享工作流了,用好工作流可以使你的AI千变万化。从使用经验来说,导入别人的工作流时,需要注意版本的兼容问题。

Dify 工作流分为两种类型:

  • Chatflow:面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
  • Workflow:面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。

4.4 工具

工具可以扩展 LLM 的能力,比如联网搜索、科学计算或绘制图片,赋予并增强了 LLM 连接外部世界的能力。Dify 提供了两种工具类型:第一方工具自定义工具

你可以直接使用 Dify 生态提供的第一方内置工具,或者轻松导入自定义的 API 工具(目前支持 OpenAPI / Swagger 和 OpenAI Plugin 规范)。

  1. 工具使用户可以在 Dify 上创建更强大的 AI 应用,如你可以为智能助理型应用(Agent)编排合适的工具,它可以通过任务推理、步骤拆解、调用工具完成复杂任务。
  2. 方便将你的应用与其他系统或服务连接,与外部环境交互,如代码执行、对专属信息源的访问等。

五、总结

Dify作为一款先进的大模型应用开发平台,其特点与优点主要体现在以下几个方面:

核心特点:

  1. 可视化工作流编排:Dify提供了一个直观的图形界面,允许用户通过拖拽和连线的方式构建复杂的工作流,无需深入编程知识,极大地简化了AI应用的开发流程。
  2. 内置RAG引擎与Agent框架:支持快速集成和配置不同的智能体(Agent)和工作流,以适应不同的应用场景,如聊天机器人、内容生成、数据分析等。
  3. 模型与API的广泛兼容性:Dify兼容多种大语言模型,包括但不限于OpenAI、通义千问等国内外模型,以及数百种API,为开发者提供了丰富的选择。
  4. 本地知识库管理:用户可以上传个人或企业的文件资料到知识库,并通过向量化处理,使得信息检索更加高效。同时,支持外部知识库的配置与使用,增加了灵活性。
  5. 灵活扩展与自定义:允许用户根据业务需求自定义工具和Agent的行为,适应复杂的业务逻辑和特定场景需求。

优点:

  1. 降低开发门槛:通过可视化工具,Dify降低了AI应用开发的复杂度,使得非专业编程人员也能快速上手,创建自己的AI应用。
  2. 提高开发效率:工作流的快速编排和模型的灵活配置,使得开发者能够迅速迭代和优化应用,缩短产品开发周期。
  3. 增强应用的智能化:通过智能体的协同工作,Dify能够实现更精细的任务分配和更智能的回答生成,提升应用的用户体验。
  4. 数据隐私与安全性:支持本地部署,数据处理不依赖第三方服务器,对于数据敏感的企业尤为重要,确保了数据的隐私和安全。
  5. 企业级应用支持:特别适合企业级应用开发,如智能客服、自动化办公流程等,能够快速响应业务需求变化,提升工作效率。

综上所述,Dify以其强大的功能、易用性、灵活性和安全性,成为开发大模型应用的优选工具,尤其适合需要快速构建和迭代AI应用的企业和个人开发者。

如果你有兴趣,或者已经在用Dify了,欢迎添加作者微信,我们组织了一个Dify的互助群,欢迎来提问或者分享你的经验。

引用链接

[1] 

LLMOps: https://docs.dify.ai/zh-hans/...

[2] 

所有应用类型: https://docs.dify.ai/zh-hans/...\_type

关于作者

作者重视实战与理论的结合,文章干货满满,有较为丰富的平台、数开经验,欢迎和作者一起交流,共同进步。

DataSpeed聚焦"大数据+AI"实战与资讯,技术干货和行业消息一网打尽。期待与你同行,欢迎扫码添加作者微信。

关于社区

PowerData社区是由一群数据从业人员,因为热爱凝聚在一起,以开源精神为基础,组成的数据开源社区。

社区群内会定期组织模拟面试、线上分享、行业研讨(涉及金融、医疗、能源、工业、互联网等)、线下Meet UP、城市聚会、求职内推等。同时,在社区群内您可以进行技术讨论、问题请教,届时更多志同道合的数据朋友。

社区整理了一份每日一题汇总及社区分享PPT,内容涵盖大数据组件、编程语言、数据结构与算法、企业真实面试题等各个领域,帮助您自我提升,成功上岸。可以添加作者微信(zwhuihuiz),进入PowerData官方社区群。 

往期推荐

从零训练你的SQL专家:基于DeepSeek的实战指南

大模型开发工具对比


PowerData
1 声望6 粉丝

PowerData社区官方思否账号