Loading...

文章背景图

Dify:开源LLM应用开发平台安装与使用指南

2026-10-26
0
- 字
- 分钟
|

Dify:开源LLM应用开发平台安装与使用指南

Dify

官方信息

项目名称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
Docker20.10+24.0+
Docker Composev2.0+v2.20+
CPU2 核4 核+
内存4 GB8 GB+
磁盘20 GB50 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-dbPostgreSQL 数据库
dify-redis缓存和任务队列
dify-weaviate向量数据库
dify-sandbox代码执行沙箱
dify-ssrf_proxySSRF 防护代理

第五步:初始化管理员账号

浏览器访问 http://你的服务器IP/install,首次打开会进入初始化页面:

  • 设置管理员邮箱
  • 设置管理员密码(至少 8 位)
  • 点击"设置"完成初始化

之后访问 http://你的服务器IP 即可登录。

第六步:配置模型供应商

登录后,右上角头像 → 设置 → 模型供应商,以 DeepSeek 为例:

  1. 找到 DeepSeek 卡片,点击"添加模型"
  2. 填入 API Key(从 platform.deepseek.com 获取)
  3. 保存,模型列表中会出现 deepseek-chat、deepseek-reasoner

如果要用本地模型(Ollama):

  1. 在 Ollama 服务器上启动 OLLAMA_HOST=0.0.0.0 ollama serve
  2. Dify 中选 Ollama 供应商,填入 Ollama 服务器地址(如 http://192.168.1.100:11434)
  3. 点击"保存",会自动拉取本地模型列表

第七步:创建一个简单的聊天应用

  1. 点击"创建应用" → 选择"聊天助手"
  2. 输入应用名称,选择聊天模型(如 deepseek-chat)
  3. 在"提示词编排"中设置系统 Prompt:"你是一个专业的技术助手..."
  4. 右侧调试窗口输入问题测试
  5. 满意后点击"发布" → 选择"WebApp"或"API 访问"

第八步:接入知识库(RAG)

  1. 左侧菜单 → 知识库 → 创建知识库
  2. 上传文档(PDF/TXT/Word/Markdown),自动解析切分
  3. 设置分段规则(推荐自动分段,500 tokens 一段)
  4. 选择 Embedding 模型(如 text-embedding-3-small 或本地 bge-m3)
  5. 等待索引完成
  6. 回到应用编排,在"上下文"中关联该知识库
  7. 测试提问,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。

跳转链接

评论交流

文章目录