Dify:开源LLM应用开发平台安装与使用指南
官方信息
| 项目名称 | Dify |
| 仓库地址 | https://github.com/langgenius/dify |
| 官方网站 | https://dify.ai |
| 最新更新时间 | 2026-10-26 |
| Star 数 | 75k+ |
| 项目定位 | 开源 LLM 应用开发平台,可视化搭建聊天机器人、RAG、Agent 工作流 |
项目背景
Dify 是由国内团队 LangGenius 开发的开源 LLM 应用开发平台,名字来源于 "Define + Ify"。它把大模型应用开发的全流程——从 Prompt 编排、知识库管理、工具调用到工作流可视化——全部封装成了一个开箱即用的 Web 平台。开发者不需要写一行代码,就能搭建一个类似 ChatGPT 的智能客服、内部知识库问答系统、或带工具调用的 AI Agent。
在 Dify 出现之前,要做一个 RAG 应用,你需要自己选向量数据库、写文档切分逻辑、拼 Prompt、调 LLM API、做前端界面——这套流程至少一两周。Dify 把这些全部产品化:上传文档自动切分入库,拖拽节点画工作流,一键发布成 Web 应用或 API。它已经成为目前最流行的开源 LLM 应用编排平台,没有之一。
Dify 同时支持云服务版和开源自部署版。开源自部署版功能完整,企业可以完全掌控数据,是很多公司内部 AI 平台的首选底座。
核心特性
- 可视化工作流:拖拽式画布,编排 LLM 节点、知识检索、条件分支、代码执行、HTTP 请求等,类似 n8n/Zapier 但面向 AI。
- 知识库 RAG:支持上传 PDF/Word/Excel/网页,自动切分、向量化、检索,内置混合检索和 Rerank。
- 多模型接入:原生支持 OpenAI、Anthropic、通义千问、DeepSeek、智谱、Ollama、vLLM 等几十种模型。
- Agent 智能体:内置 Function Calling、ReAct,支持自定义工具(Google 搜索、Wikipedia、计算器等)。
- 多渠道发布:一键发布为 WebApp、嵌入网页 iframe、微信小程序、API 接口。
- 数据集标注:内置人工标注和 SFT 数据导出,支持用对话记录微调模型。
- 权限管理:团队空间、成员角色、应用级权限,适合企业协作。
环境要求
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Ubuntu 20.04 / CentOS 7+ | Ubuntu 22.04 LTS |
| Docker | 20.10+ | 24.0+ |
| Docker Compose | v2.0+ | v2.20+ |
| CPU | 2 核 | 4 核+ |
| 内存 | 4 GB | 8 GB+ |
| 磁盘 | 20 GB | 50 GB+ SSD |
详细部署步骤
第一步:安装 Docker 和 Docker Compose
# 安装 Docker(Ubuntu)
curl -fsSL https://get.docker.com | bash
systemctl start docker
systemctl enable docker
# 验证
docker --version
docker compose version
第二步:克隆 Dify 仓库
cd /opt
git clone https://github.com/langgenius/dify.git
cd dify/docker
第三步:配置环境变量
# 复制环境变量模板
cp .env.example .env
# 编辑 .env,关键配置项说明:
# 1. 暴露端口(默认 80,如被占用可改为 8080)
EXPOSE_NGINX_PORT=80
# 2. 应用密钥(必须修改!生产环境用随机字符串)
SECRET_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
# 3. 数据库密码
DB_PASSWORD=your_secure_password
# 4. 启用 HTTPS(可选,配合 Nginx 反代)
# EXPOSE_NGINX_SSL_PORT=443
生成强随机 SECRET_KEY:
openssl rand -base64 42
第四步:启动 Dify
# 拉取镜像并启动所有服务
docker compose up -d
# 查看启动状态
docker compose ps
启动后你会看到这些容器:
| 容器名 | 作用 |
|---|---|
| dify-api | 后端 API 服务 |
| dify-web | 前端 Web 界面 |
| dify-worker | 异步任务队列(文档解析、向量化) |
| dify-db | PostgreSQL 数据库 |
| dify-redis | 缓存和任务队列 |
| dify-weaviate | 向量数据库 |
| dify-sandbox | 代码执行沙箱 |
| dify-ssrf_proxy | SSRF 防护代理 |
第五步:初始化管理员账号
浏览器访问 http://你的服务器IP/install,首次打开会进入初始化页面:
- 设置管理员邮箱
- 设置管理员密码(至少 8 位)
- 点击"设置"完成初始化
之后访问 http://你的服务器IP 即可登录。
第六步:配置模型供应商
登录后,右上角头像 → 设置 → 模型供应商,以 DeepSeek 为例:
- 找到 DeepSeek 卡片,点击"添加模型"
- 填入 API Key(从 platform.deepseek.com 获取)
- 保存,模型列表中会出现 deepseek-chat、deepseek-reasoner
如果要用本地模型(Ollama):
- 在 Ollama 服务器上启动
OLLAMA_HOST=0.0.0.0 ollama serve - Dify 中选 Ollama 供应商,填入 Ollama 服务器地址(如
http://192.168.1.100:11434) - 点击"保存",会自动拉取本地模型列表
第七步:创建一个简单的聊天应用
- 点击"创建应用" → 选择"聊天助手"
- 输入应用名称,选择聊天模型(如 deepseek-chat)
- 在"提示词编排"中设置系统 Prompt:"你是一个专业的技术助手..."
- 右侧调试窗口输入问题测试
- 满意后点击"发布" → 选择"WebApp"或"API 访问"
第八步:接入知识库(RAG)
- 左侧菜单 → 知识库 → 创建知识库
- 上传文档(PDF/TXT/Word/Markdown),自动解析切分
- 设置分段规则(推荐自动分段,500 tokens 一段)
- 选择 Embedding 模型(如 text-embedding-3-small 或本地 bge-m3)
- 等待索引完成
- 回到应用编排,在"上下文"中关联该知识库
- 测试提问,Dify 会自动检索相关段落注入 Prompt
第九步:升级版本
cd /opt/dify/docker
git pull origin main
docker compose down
docker compose pull
docker compose up -d
常见坑与解决
- 端口 80 被占用:修改 .env 中
EXPOSE_NGINX_PORT=8080,重启容器。 - 文档解析失败:检查 dify-worker 日志
docker compose logs -f worker;大 PDF 建议先拆分。 - Ollama 连不上:确认 Ollama 启动时绑定了 0.0.0.0,服务器防火墙开放 11434 端口。
- 磁盘占用过大:Weaviate 向量数据在
docker/volumes/weaviate,定期清理无用知识库。
使用方法示例
发布后的应用 API 调用示例:
curl -X POST 'http://your-server/v1/chat-messages' \
-H 'Authorization: Bearer app-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"inputs": {},
"query": "什么是大模型微调?",
"response_mode": "blocking",
"conversation_id": "",
"user": "abc-123"
}'
默认管理员账号在首次安装时自行设置,无默认密码。生产环境务必:修改 SECRET_KEY、配置 HTTPS、限制管理员邮箱域名。
常见问题 FAQ
Q1:Dify 和 FastGPT、RAGFlow 有什么区别?
A:Dify 最全能,工作流 + RAG + Agent 一体;FastGPT 专注知识库问答,简单易用;RAGFlow 深度文档解析最强,适合复杂表格 PDF。三者可以按场景选择。
Q2:免费版和企业版差多少?
A:开源自部署版核心功能完整,企业版多了 SSO、审计日志、多租户、技术支持等。个人和小团队用开源版足够。
Q3:支持哪些向量数据库?
A:默认内置 Weaviate,可切换到 Qdrant、Milvus、PGVector、Chroma、Opensearch。
Q4:数据安全吗?
A:自部署版所有数据都在你自己服务器上,模型 API 调用走你配置的 Key。但要注意:如果用的是 OpenAI 等云端模型,Prompt 和知识库内容会发送到对应厂商。
Q5:能商用吗?
A:Dify 是自定义开源协议(基于 Apache 2.0 有一些限制),允许商用,但不能直接售卖 Dify 本身作为 SaaS 服务。具体看 LICENSE。
跳转链接
- GitHub 仓库:https://github.com/langgenius/dify
- 官方文档:https://docs.dify.ai
- 在线 Demo:https://udify.app
- Docker 部署:docker/README.md