Dify 详解:开源 LLM 应用开发平台
团队想做一个 AI 应用——接几个模型、搭一条 RAG 流水线、配一个代理、再对外开放 API——如果全靠写代码,每一样都是工程量。langgenius/dify(Dify)把这些搬进了一个可视化平台:拖拽画布编排工作流、开箱的 RAG 管线、Function Calling / ReAct 代理、Prompt IDE 与 LLMOps 观测,一套环境从原型直达生产。约 153k Star,是 GitHub 上最火的 LLM 应用平台。本文从核心能力、部署、协议到选型,完整拆解。
1、项目概述
Dify 定位为开源 LLM 应用开发平台,官方口径是让团队"从原型到生产无需重构技术栈"。仓库约 153k Star、24.2k Fork、1.2 万+ 次提交,社区规模在同类中一骑绝尘。
部署形态与协议:
- 三种部署:Dify Cloud(沙箱含 200 次免费 GPT-4 调用)、VPC、自托管
- 协议为 Dify 开源协议:基于 Apache 2.0 附加条件(详见第 6 节)
- 最低配置:2 核 CPU、4GiB 内存,Docker Compose v2.24.0+
- 另有 Kubernetes Helm、Terraform、AWS CDK 等企业部署选项
2、四大核心能力
Dify 的功能可以归成四根支柱,覆盖 LLM 应用开发的主要环节。
四根支柱:
- Workflow:可视化画布编排 AI 工作流,节点连线即成管线
- RAG 管线:从文档摄入到检索的完整链路,支持 PDF、PPT 等格式
- Agent:基于 Function Calling 或 ReAct,内置 50+ 工具(Google 搜索、DALL·E、Stable Diffusion、WolframAlpha)
- Prompt IDE:编写提示词、对比模型效果,可挂文本转语音等增强能力
能力要点:
1. 工作流与代理可组合:代理可作为一个节点嵌进画布
2. 模型接入海量:数百家推理提供商,含 GPT、Mistral、Llama3 与 OpenAI 兼容接口
3. 全部能力都同步暴露为 Backend-as-a-Service API,前端零绑定
3、技术栈与仓库结构
Dify 是前后端分离的 pnpm monorepo,主体由两大应用构成。
技术构成:
- 后端:Python(api 目录),配合 PostgreSQL 存储
- 前端:Next.js + TypeScript(web 目录)
- 交付:Docker 镜像与 Compose 编排为主
目录速览:
- api(后端)、web(前端)、docker(部署编排)、cli(命令行)
- dify-agent 与 dify-agent-runtime(代理运行时)
- sdks、packages、e2e、docs(SDK、共享包、端到端测试与文档)
4、Docker 快速部署
自托管走 Docker Compose,四条命令起服务。
cd dify
cd docker
cp .env.example .env
docker compose up -d部署要点:
1. 启动后浏览器打开 http://localhost/install 完成初始化
2. 环境要求:2 核 CPU、4GiB 内存、Docker Compose v2.24.0 及以上
3. 企业内网可用 Helm / Terraform / AWS CDK 落地
4. 先小规模验证工作流,再接生产模型与真实数据
5、LLMOps 观测与 API 开放
上线后的运维与开放能力,是平台区别于纯开发框架的分水岭。
观测与开放:
- 日志监控与分析:每次运行的输入输出、耗时、token 消耗可追溯
- 第三方观测集成:Opik、Langfuse、Arize Phoenix
- Backend-as-a-Service:工作流、RAG、代理全部有对应 API
要点:
1. 调试期用内置日志定位坏节点,量产后接 Langfuse 做全链路追踪
2. BaaS API 让自研前端直接调用平台内的工作流,避免重写逻辑
3. 团队协作在同一工作区完成,应用、模型、知识库统一管理
6、协议限制:用前必读
Dify 采用的不是标准 MIT/Apache,而是 Dify 开源协议——基于 Apache 2.0 附加条件,商用前务必读 LICENSE 原文。
协议要点(以 LICENSE 原文为准):
- 多租户 / SaaS 化运营受到限制:未经授权不得把 Dify 作为多租户服务转售
- 前端版权与 Logo 保留有明确要求,去除或替换需遵守条款
- 企业内部自用一般不受影响,对外产品化需评估合规
对比提醒:
1. WeKnora 是 MIT、LlamaIndex 是 MIT,商用约束几乎为零
2. Dify 的附加条款不影响内部部署,但影响"基于它做 SaaS"的路线
3. 选型时把"未来是否产品化对外"纳入协议评估
7、定位对比:平台三选一
把 Dify 与 WeKnora、LlamaIndex 放在一张桌上,各自的位置清晰起来。
三者对比:
- Dify:全功能 LLM 应用平台,可视化工作流 + RAG + 代理 + BaaS,生态最大(153k Star)
- WeKnora:专注知识库的 RAG 平台,MIT 协议,中文生态(飞书 / 企微)友好
- LlamaIndex:Python 框架,写代码组装 RAG / 代理管线,自由度最高
选型建议:
1. 要可视化搭建、快速让业务团队参与、需要 API 开放 → Dify
2. 核心场景就是企业知识库问答、要 MIT 与国产生态 → WeKnora
3. 要把 RAG 深度嵌进自家产品、掌控每个环节 → LlamaIndex
4. 组合玩法:Dify 做应用层编排,后端模型走 LiteLLM 网关统一治理
8、总结
Dify 是 GitHub 上最热门的开源 LLM 应用平台(约 153k Star),以可视化工作流为核心,配套 RAG 管线、Function Calling / ReAct 代理、Prompt IDE 与 LLMOps 观测,接入数百家模型提供商,所有能力开放为 BaaS API;Python + Next.js 技术栈,Docker Compose 四条命令即可自托管,另有云沙箱与 K8s 等企业部署。协议为 Apache 2.0 附加条件的 Dify 开源协议,多租户 SaaS 化与品牌条款需注意。
落地建议:想让业务与研发在同一平台协作搭建 AI 应用的团队,Docker 起服务、先用云沙箱跑通原型再自托管放量;内部自用协议无忧,若计划基于它做对外 SaaS,先读 LICENSE 并联系官方授权。与 LiteLLM(模型网关)、LLMLingua(上下文压缩)搭配,Dify 可作为应用编排层嵌入完整的多模型架构。对于要规模化产出 AI 应用的组织,Dify 是必要的平台层候选。