Dify开源LLM应用开发平台研究分享
Dify是一个开源的LLMOps/Agent应用开发平台,提供可视化工厂式的大模型应用开发体验。核心功能包括低代码可视化构建、RAG知识增强、Agent框架、多模型兼容等,支持企业级部署与运维。平台适用于知识问答、智能客服、内容创作等多种场景,相比同类产品更具功能性和开放性。Dify提供五种应用类型:聊天助手、文本生成、Agent、工作流和Chatflow,满足不同业务需求。部署方式支持SaaS云
Dify
官网
官方文档
Dify介绍

Dify 一词源自 Define + Modify,意指定义并且持续的改进你的 AI 应用,它是为你而做的(Do It For You)。
Dify 是一个开源的企业级“LLMOps / Agent 应用开发平台”,用一句话概括:把大模型做成可投产应用的“可视化工厂”。它让你像搭积木一样,用拖拽方式就能快速组装出基于大语言模型的 AI 应用,并直接部署上线 。比 LangChain 更易用。
核心能力
-
低代码可视化构建
在 Dify 的工作区界面中,提供画布式工作台,拖拽提示词、API 调用、数据库查询等节点即可编排复杂业务逻辑,开发者无需写大量代码,只需编写少量指令(Prompt),即可通过拖拽式界面完成工具添加、知识库挂载、Agent 参数配置等操作。
配合「调试与预览」功能,可以实时测试 Agent 的工具调用与输出效果。 -
RAG 知识库增强
内置检索增强生成引擎,可把 PDF、PPT、网页、Notion 等 20+ 种文档一键向量化,构建私有知识库,显著减少模型幻觉 。
Agent 可挂载企业文档、数据库、FAQ 等知识库作为上下文,使回答更具事实性。
支持混合检索与 Rerank 模型,提升多知识库场景下的匹配准确度。 -
Agent 框架
支持“思维链”式自主 Agent,可调用外部工具(搜索、代码执行、API 等)完成多步任务 。 -
多模型兼容
官方已接入 OpenAI、Anthropic、Google、DeepSeek、Qwen、Llama 等数百种模型,只要符合 OpenAI API 格式即可一键切换 。
可灵活切换和对比不同模型的推理效果,适配 Function Calling 或 ReAct 推理范式。 -
一键自动部署与接口支持
提供 SaaS 云服务和私有化 Docker 两种形态,内置日志、监控、版本回滚,支持企业 SSO、细粒度权限、审计合规 。
每个 Agent 发布后自动生成:
– Web 前端界面(可直接对话)
– RESTful API(后端接口)
企业可零改造将 Agent 嵌入现有系统,避免重复开发。 -
运维及监控能力
提供运行日志、工具调用日志、Token 消耗监控。
企业可实时追踪使用情况,持续优化提示词与工具策略。 -
生态与集成
官方市场有 100+ 插件和模板(企业微信、飞书、Slack、Zapier 等),社区可直接复用或二次开发 。
内置工具:时间、代码解释器、网页抓取、音频处理等,开箱即用;
工具市场:提供了 Google、GitHub、Bing、Perplexity 等常见工具,点击即可安装;
自定义工具:支持通过 OpenAPI / Swagger / OpenAI Plugin 标准快速接入企业内部 API;
MCP 工具:兼容新一代 Model Context Protocol,可直接将企业已有的 MCP 服务接入 Dify。
类比理解:
“WordPress 让你不用写代码就能搭网站,Dify 让你不用写代码就能搭大模型应用。”
一句话总结:Dify 把“大模型”做成即插即用的企业级能力,覆盖“开发→调试→部署→运维”全链路,是非专业用户也能快速搭建、专业团队可显著降本提效的低代码 Agent 平台。
Dify vs 其他框架
Dify 开源 社区活跃、企业级、功能性强大、模型不限制、API发布不限制、有chatflow、技能更强大,目前是 Agent 智能体开发最好的开源平台。
LangChain 开发者框架,强调链式编排与深度定制,缺少工作流可视化、调试麻烦。
Coze 非开源、测重C端运营、模型有限制(字节相关模型)、没有chatflow、技能相对简单。
n8n 开源通用型工作流自动化平台 非原生Agent工作流,国内使用较少 api国内不太通用。
LangFlow 开源 较新, LangChain 的可视化实验台 没有原生“发布成 API/网页”按钮,想上线得自己写 FastAPI 包装,对业务系统(CRM、ERP)节点≈0,纯粹是 LLM 实验场。
Dify使用教程
核心功能点
1.多种大模型配置、知识库配置、AI Agent智能体、 Workflow工作流编排(单轮对话、自动化任务)、Chatflow(多轮对话)、插件化、MCP配置、工具化
2.乐高式搭建:拖拽节点即可连接AI模型、知识库、API工具,无需编写复杂代码
3.生产级监控:自动记录对话日志,像“行车记录仪”般追踪AI表现
4.异步工作流功能,实现了运行时无阻塞操作
5.一次任务工作流 Workflow:批处理、API、定时任务
6.多轮聊天工作流 Chatflow:上下文、中途问、随时岔
框架核心组件
架构:「前端 + 后端 API + 插件沙箱 + 运维底座」四层
在 Dify 官方 docker-compose.yml 中,一共定义了 11 个服务(容器),可分为「5 个 Dify 自研业务容器 + 6 个外部依赖容器」。各自职责如下:
- api
后端主服务,提供 REST / WebSocket 接口、LLM 编排逻辑、权限与租户管理。环境变量 MODE=api,由 gunicorn 启动,是外部调用的唯一入口 。 - worker
与 api 共用镜像,但 MODE=worker,启动 Celery 进程,负责异步任务:文档分段、索引构建、Embedding、群发消息、Webhook 回调等,可水平扩容 。 - worker_beat
轻量级定时调度器,同样是 Celery Beat 进程,专门触发周期任务(定时清理、报表、Schedule Trigger 等),保证事件驱动工作流的准时触发 。 - web
纯静态 Next.js 前端,暴露 3000 端口,提供控制台与应用使用界面;所有动态数据均通过 api 服务获取 。 - plugin_daemon
插件守护进程,负责插件/工具的安装、启停、沙箱调度、事件转发与 MCP 生命周期管理;api 通过内网 5002 端口与其通信 。 - db(PostgreSQL 15)
主存储,保存用户、应用、会话、知识库元数据、工作流定义、插件信息等;提供健康检查供 api/worker 等待启动 。 - redis
两用:- Celery 消息代理与结果后端
- 运行时缓存(速率限制、会话、锁)
密码与持久化 AOF 默认开启 。
- weaviate
默认向量数据库,负责多模态文档的向量化存储与近似检索;Dify 通过官方 Weaviate 模块直接读写 。 - sandbox
基于 nsjail 的安全代码沙箱,执行插件中用户上传的 Python / Node 脚本,防止恶意系统调用;仅暴露内部 API_KEY 鉴权 。 - ssrf_proxy(Squid)
内部 HTTP 代理,所有 api / plugin_daemon 对外发起的 URL 请求强制经过它,可按域名/IP 做白名单,阻断 SSRF 与内网扫描 。 - nginx
边缘反向代理,统一监听 80/443,把静态资源转发到 web,动态接口转发到 api,并附带 Gzip、CORS、限流等通用网关能力;官方模板已给出默认配置 。
这样组合后,一条 docker compose up -d 即可拉起完整环境:
- 前端通过 nginx 访问
- 业务逻辑在 api / worker / worker_beat 中
- 插件与代码运行在 plugin_daemon + sandbox
- 数据与向量分别落在 postgres 与 weaviate
- 所有出网流量受 ssrf_proxy 管控
通过“事件驱动工作流 + 插件化工具 + 多模态 RAG + 可观测性”四大主轴,把原来的低代码编排平台升级为可自动运行、可观测、可横向扩展的企业级 LLM 操作系统。
进阶技巧
多模型AB测试:在同一工作流中配置多个模型,比较输出结果并选择最优解
自定义工具开发:为Dify开发自定义工具,扩展其能力边界
条件分支优化:使用复杂条件逻辑让工作流更智能
外部API集成:将企业内部系统通过API接入Dify工作流
应用类型
五种
聊天助手
基于 LLM 构建对话式交互的助手,这个非常简单,我们可以来创建一个简单的聊天助手应用来看看效果。
文本生成应用
面向文本生成类任务的助手,例如撰写故事、文本分类、翻译等
Agent
智能助手(Agent Assistant),利用大语言模型的推理能力,能够自主对复杂的人类任务进行目标规划、任务拆解、工具调用、过程迭代,并在没有人类干预的情况下完成任务。大模型可以根据我们的需求自主编排的选择我们提供的工具来完成我们的需求。
工作流
面向自动化和批处理情景,适合高质量翻译、数据分析、内容生成、电子邮件自动化等应用程序。
Chatflow
面向对话类情景,包括客户服务、语义搜索、以及其他需要在构建响应时进行多步逻辑的对话式应用程序。
常用节点
参数提取器
文档提取器
Http请求
代码执行 Python、Js
知识检索
条件分支
格式转换
常用插件
MCP 工具
Jina爬虫工具
记忆能力
Dify 工作流(特别是 Chatflow 模式)的“记忆能力”并不是由单独一个中间件提供,而是**「会话变量 + PostgreSQL + Redis」**三者配合完成,最终由 api 服务 统一读写。可以简单理解为:
-
记忆内容以「会话变量」形式存在
每轮对话里开发者用「变量赋值」节点把需要记住的信息(用户偏好、事件图谱、Cookie 等)写成 JSON,存进 Dify 内置的会话级变量 。 -
真正的落盘在 PostgreSQL(db 容器)
会话变量、对话历史、工作流执行状态都保存在dify库的conversations、messages、workflow_runs等表中,api 服务通过 SQLAlchemy 模型读写 。 -
运行时热数据走 Redis(redis 容器)
当前回合的上下文、窗口大小内的历史消息会缓存到 Redis,减少反复查库;窗口大小(Memory Window)由用户在 Chatflow 面板里随时调节 。 -
api 服务 统一对外暴露接口
前端每轮请求都打到/api/chat-messages,api 服务先读 Redis 热缓存 → 不够再去 Postgres 捞更早历史 → 拼好 prompt 调 LLM → 把本轮新事实写回 Postgres 并更新 Redis。
总结:
Dify 工作流的记忆能力依赖 api 服务提供读写接口,PostgreSQL 做长期持久化,Redis 做近期缓存
RAG知识库
Dify部署
git clone https://gitee.com/dify_ai/dify.git
cd dify
cd docker
cp .env.example .env
先拉取镜像
docker compose pull
直接启动
docker compose up -d
Dify 应用案例
一、业务方向
1.业务支持智能助手
2.业务数据分析智能助手
3.业务知识库检索助手
4.各业务系统操作手册知识库检索助手
价值:快速方便让不了解系统的人员 只通过AI快速了解系统的各项业务功能模块。
5.各业务系统数据分析报表助手(通过查询数据库,输出echarts图表或生成excel)
价值:让业务同学用自然语言就能拿到可信、可视、可落地的数据结论,同时把 BI 工程师从重复写 SQL、调图表里解放出来
6.自然语言转SQL及查询结果数据分析助手
7.发票识别机器人
8.基于视觉模型实现多票据识别
9.业务单据自动核对
二、研发提效方向
1.需求 → 测试用例一键生成器
核心能力:PRD 文档上传后,自动输出可执行的 RobotFramework 脚本 + 测试数据。
2. 单元测试 Agent(TDD 模式)
核心能力:函数签名一出现,自动生成覆盖率≥80% 的单测代码并提交 MR。
3. Code Review助手
核心能力:MR 创建后 30s 内完成“命名/格式/安全/性能”四维度扫描,并给出可一键 Apply 的 fix-suggestion。
4. 设计稿 → 中后台代码直出
核心能力:上传 Figma/Sketch 截图,直接输出 Vue/React 页面文件,还原度>90%。
5.私域知识问答助手
核心能力:基于向量知识库,回答“这块业务谁最熟”“XX 报错怎么排查”等工程问题。
6.发布风险预审助手
核心能力:根据代码 diff、历史事故库、灰度规则,给出“能否发布”“建议灰度比例”。
7.故障根因智能体(On-call 场景)
核心能力:收到报警后,自动拉日志、trace、指标,输出“可能根因+下一步排查指令”。
8.API 契约 → 多端 SDK 自动化
核心能力:OpenAPI 一经合并,自动产出 Android/iOS/Flutter/TypeScript SDK 并上传私仓。
9.低代码“智能搭建”聊天界面
核心能力:业务人员用自然语言描述“我要一个带审批流的报销表单”,系统自动生成低代码应用并发布。
10.技术文档自动同步与多语翻译
核心能力:代码合并即自动更新接口文档,并同步输出中英双语版本。
11.可配置的“GPTs”式 Agent 工厂
核心能力:把上述所有能力沉淀为可拖拽组件,让各业务线自己拼装专属 Agent。
12.各业务系统产品文档知识库检索助手
价值:方便查找产品历史的需求文档,与研发、测试对齐
13.各业务系统研发技术文档、数据库设计知识库检索助手
价值:本质是把“人找文档、人问人”的研发协作模式,升级为“文档主动服务人”。
它的核心价值可以压缩成一句话:
让每一次需求评审、字段命名、SQL 评审、故障复盘,都能 30 秒内找到“最新、可信、可落地”的知识,不再靠口口相传,也不再重复踩坑
14.自然语言生成查询sql语句、建表语句 智能体
价值:研发提效,表名、字段命名困难者的福音
三、其他应用
个人在线旅游助手
翻译工具
如何写出有吸引力的标题
知识库图像检索和展示
文生图助手
PPT生成助手
文章理解助手
小说故事和角色生成
爬取小说转语音助手
一键获取热榜文章内容
一键生成朋友圈图文
专业简历美化助手
金融投资分析智能体
股票价格趋势智能体
参考文档
AI 技术栈:
Agent 智能体
什么是 Agent?
Agent,说白了就是让模型具备一定程度的自主决策和任务规划能力。
它就像一个“多线程”的模型调度器:
每接一个任务,自己思考怎么拆解
根据情况调用多个工具
遇到中间结果会重新思考下一步
最后一步步把复杂任务完成
你可以理解成:它会思考、规划、决策、执行,真正具备了“完成任务”的闭环能力。
我们可以通过一张 Agent 流程图 进行展示:
并且,这整个流程可以重复多轮,直到目标完成。
还是以“济南十一自驾去北京”为例,它可能经历这样的 Agent 执行链:
查询天气 → 如果有雨,提醒注意安全
查询路线 → 如果太远,中途加一站住宿
住宿安排 → 查附近酒店并给出建议
最终输出一个可执行的旅行计划
这就是 Agent 的特性:不是你一步步告诉它怎么干,而是它自己规划该怎么干。直接给你最终的规划和结果
最新Dify入门教程,零基础入门到精通
Dify Java Client 是一个用于与 Dify 平台进行交互的 Java 客户端库
dify-for-dsl: 本项目是基于dify开源项目实现的dsl工作流脚本合集
DifyAIA: About 基于Dify自主创建的AI应用DSL工作流
更多推荐



所有评论(0)