Dify完整操作手册:从零搭建企业级AI应用平台的实战全攻略
概述
Dify 是一款面向开发者和企业的开源 LLMOps(大语言模型运维)平台,核心理念是"让每个人都能轻松构建 AI 应用"。它通过可视化的工作流编排引擎,将原本需要大量代码开发的 AI 应用构建过程,简化为拖拽式操作。
Dify 的定位不同于 ChatGPT、Kimi 这类面向终端用户的对话产品,它更像是一个"AI 应用工厂"——你用它来制造 AI 应用,而不是直接用它聊天。目前 Dify 在 GitHub 上已获得超过 60,000 颗 Star,被全球数十万开发者用于构建客服机器人、企业内部知识库、智能数据分析助手等各类 AI 应用。
为什么选择 Dify?
- 完全开源可自部署:使用 Docker Compose 一行命令即可在本地或服务器部署,数据完全自主可控
- 可视化编排:无需编写复杂代码,通过拖拽节点即可搭建复杂的 AI 工作流
- RAG 知识库引擎:内置企业级 RAG(检索增强生成)能力,支持多种文档格式的语义检索
- 多模型生态:支持 OpenAI、Claude、通义千问、文心一言、DeepSeek 等 100+ 大语言模型
- Agent 智能体:支持构建具备工具调用能力的自主 AI Agent
- API 优先设计:每个应用自动生成 RESTful API,可无缝集成到现有业务系统
核心功能
1. 可视化应用编排
Dify 提供了三种应用构建模式:
- 聊天助手:构建对话式 AI 应用,支持上下文记忆、变量设置和开场白配置
- 文本生成:构建单次输入输出的文本处理应用,适合翻译、摘要、改写等场景
- Agent 智能体:构建具备推理和工具调用能力的自主 Agent,可接入搜索引擎、API 工具等
- 工作流:基于可视化画布的流程编排,支持条件分支、循环、代码执行等高级逻辑
2. RAG 知识库引擎
Dify 的知识库模块是其核心竞争力之一:
- 多格式支持:TXT、PDF、HTML、Markdown、Word、Excel、CSV、Notion 同步
- 智能分段:支持自动分段和自定义分段策略,可根据文档结构智能切分
- 多 Embedding 模型:支持 OpenAI Embedding、Cohere、本地部署的 text2vec 等
- 混合检索:同时支持关键词检索和语义向量检索,并可自定义权重配比
- 召回测试:内置召回率测试工具,可直观评估知识库的检索质量
3. 提示词工程
Dify 提供了专业的提示词编辑环境:
- 变量插入:支持在提示词中插入用户输入、知识库上下文、对话历史等变量
- 版本管理:提示词支持版本记录,可随时回滚到历史版本
- 在线调试:右侧面板实时预览 AI 响应,所见即所得
- 专家模式:可切换到原始 JSON 模式进行精细控制
4. 多模型管理
在"设置-模型供应商"中,可以配置多个模型服务商:
| 模型类型 | 代表供应商 |
|---|---|
| LLM(大语言模型) | OpenAI、Anthropic、通义千问、文心一言、DeepSeek、GLM |
| Embedding(嵌入模型) | OpenAI、Cohere、Jina AI、本地 text2vec |
| Rerank(重排序) | Cohere Rerank、Jina Rerank |
| TTS(语音合成) | OpenAI TTS、Azure TTS |
| Speech2Text(语音识别) | OpenAI Whisper |
配置方式非常简单,只需填入对应服务商的 API Key 即可一键接入。
详细教程
第一步:环境准备与部署
最低硬件要求:
- CPU:2 核以上
- 内存:4GB 以上(推荐 8GB)
- 磁盘:20GB 以上可用空间
- 操作系统:Linux(推荐 Ubuntu 20.04+)、macOS、Windows(WSL2)
方式一:Docker Compose 部署(推荐)
这是最推荐的部署方式,适合 99% 的用户:
# 1. 克隆项目
git clone https://github.com/langgenius/dify.git
cd dify/docker
# 2. 复制环境变量配置
cp .env.example .env
# 3. 编辑 .env 文件,配置必要的参数
# 核心配置项:
# SECRET_KEY=你的随机密钥(至少32位,用于会话加密)
# INIT_PASSWORD=初始管理员密码
# CONSOLE_API_URL=http://你的服务器IP或域名
# APP_API_URL=http://你的服务器IP或域名
# 4. 启动所有服务
docker compose up -d
# 5. 查看启动状态
docker compose ps
启动成功后,访问 http://你的服务器IP 即可进入 Dify 管理界面。首次访问需要设置管理员邮箱和密码。
方式二:Dify Cloud(免部署)
如果你不想自己部署,可以使用 Dify 官方提供的云端版本(dify.ai),注册即用,免费额度足够个人和小团队使用。
部署后检查清单:
- [ ] 所有容器状态为 Up(共 8 个服务:api、worker、web、db、redis、weaviate、nginx、sandbox)
- [ ] 能正常访问 Web 管理界面
- [ ] 日志无异常错误
第二步:配置模型供应商
登录后,首先需要配置至少一个大语言模型。进入 设置 → 模型供应商:
以配置 DeepSeek 为例:
- 在模型供应商列表中找到 DeepSeek,点击"设置"
- 填入你的 DeepSeek API Key(可从 platform.deepseek.com 获取)
- 点击保存,系统会自动验证 API Key 的有效性
- 验证通过后,DeepSeek 图标会显示为绿色激活状态
多模型配置建议:
- 对话生成:配置 Claude 3.5 Sonnet 或 GPT-4o,用于高质量对话
- 成本优化:配置 DeepSeek-V3 或通义千问,用于高并发场景
- Embedding:配置 OpenAI text-embedding-3-small 或本地模型
- 备选模型:至少配置 2 个不同供应商的模型,防止单点故障
第三步:创建你的第一个 AI 应用
场景假设:为一家电商公司搭建智能客服机器人。
- 点击首页的 "创建应用" 按钮
- 选择 "聊天助手" 类型
- 填写基本信息:
- 应用名称:电商智能客服助手
- 应用描述:基于商品知识库的智能客服,自动回答用户关于退换货、物流、优惠等问题
-
图标:上传一个合适的图标
-
进入编排页面后,你会看到左侧的编排面板,包含以下核心区域:
提示词配置(Prompt):
你是一位专业的电商客服助手,你的职责是准确、友好地回答用户关于商品的各类问题。
请严格遵守以下规则:
1. 仅根据【知识库】中提供的内容回答问题
2. 如果知识库中没有相关信息,请诚实告诉用户"这个问题我需要转接人工客服,请问还有什么可以帮您?"
3. 回答风格亲切自然,但保持专业
4. 涉及价格、优惠券等信息时,务必核实最新的知识库内容后再回答
5. 回复控制在 200 字以内,简洁明了
【知识库上下文】
{{#context#}}
【对话历史】
{{#histories#}}
用户问题:{{#query#}}
变量说明:
- {{#context#}}:从知识库中检索到的相关内容,由 Dify 自动填充
- {{#histories#}}:最近 10 轮的对话历史
- {{#query#}}:用户当前的问题
- 在右侧的 "上下文" 区域,暂时先不关联知识库(后面会创建)
- 选择模型为 DeepSeek-V3,温度设为 0.7
- 点击右上角 "发布" 按钮
第四步:构建 RAG 知识库
知识库是 Dify 的核心能力,下面详细讲解构建过程:
-
点击顶部导航的 "知识库",然后点击 "创建知识库"
-
填写基本信息:
- 名称:电商售后政策知识库
-
描述:包含退换货流程、物流政策、优惠规则等信息
-
上传文档:支持以下方式
- 拖拽上传本地文件(PDF、Word、Excel、TXT 等)
- 从 Notion 同步(需先授权)
- 从网页同步(输入 URL 自动抓取)
-
手动输入文本
-
分段策略设置(关键步骤):
| 参数 | 建议值 | 说明 |
|---|---|---|
| 分段最大长度 | 500 tokens | 每个分块的最大 token 数,太小信息不足,太大会稀释检索精度 |
| 分段重叠长度 | 50 tokens | 相邻分块之间的重叠 token,防止关键信息被切断 |
| 分段规则 | 自动分段 | Dify 会根据文档结构自动分段,保留标题层级关系 |
- 选择 Embedding 模型:
- 如果追求精度,选择
text-embedding-3-large -
如果控制成本,选择
text-embedding-3-small或bge-large-zh -
索引模式选择:
- 高质量模式(推荐):调用大模型对文档做预处理,生成更准确的索引
-
经济模式:直接向量化,速度快但精度略低
-
点击 "保存并处理",Dify 会自动完成文档分段和向量化。处理时间取决于文档大小,通常 1-5 分钟
-
检索测试:索引完成后,可以在右侧测试检索效果。输入一个测试问题,查看召回的文档片段是否精准命中
-
回到应用设置,在"上下文"区域关联刚创建的知识库
第五步:工作流编排(进阶)
对于复杂的业务逻辑,可以使用工作流模式。下面以一个"智能工单分类与处理"为例:
工作流设计:
[开始] → [用户输入] → [意图识别(LLM节点)]
↓
┌───────────────┼───────────────┐
↓ ↓ ↓
[退换货处理] [物流查询] [投诉建议]
↓ ↓ ↓
[知识库检索] [API查询物流] [转人工]
↓ ↓ ↓
[LLM回复] [LLM回复] [模板回复]
↓ ↓ ↓
└───────────────┼───────────────┘
↓
[结束]
操作步骤:
- 创建新应用,选择 "工作流" 类型
- 从左侧拖入一个 "LLM" 节点作为意图识别器
- 配置 LLM 节点的提示词,让模型将用户输入分类为退换货、物流查询、投诉建议三类
- 从 LLM 节点拉出三条分支连线,连接到不同的处理节点
- 在"物流查询"分支中,拖入 "HTTP 请求" 节点调用物流 API
- 在"退换货处理"分支中,拖入 "知识库检索" 节点 + "LLM" 节点组合
- 配置条件分支的判断逻辑(使用 Jinja2 模板语法处理 LLM 输出)
- 点击 "测试运行",输入几个测试用例验证流程正确性
工作流节点类型速查:
| 节点类型 | 用途 |
|---|---|
| 开始 | 工作流入口,定义输入变量 |
| LLM | 调用大语言模型进行推理/生成 |
| 知识库检索 | 从知识库中检索相关文档片段 |
| 代码 | 执行 Python/JavaScript 代码进行数据处理 |
| HTTP 请求 | 调用外部 API 接口 |
| 条件分支 | 根据条件走向不同分支 |
| 模板转换 | 使用 Jinja2 模板格式化数据 |
| 变量聚合 | 合并多个上游节点的输出 |
| 结束 | 工作流出口,定义输出格式 |
实战案例
案例一:企业微信智能客服机器人
背景:某中型企业需要为内部员工(2000+ 人)提供 7×24 小时的自助服务,覆盖 IT 支持、HR 政策、行政服务等场景。
方案架构:
企业微信 → Dify API → Dify 应用(聊天助手)
↓
知识库(IT手册 + HR制度 + 行政指南)
实施步骤:
- 知识库建设:搜集 IT 常见问题文档、员工手册、行政流程文档共 87 份,上传至 Dify 知识库
- 提示词设计:针对企业内部风格定制,加入公司文化元素
- Dify API 对接:使用 Dify 自动生成的 API 端点,通过 Python 编写企业微信机器人中间件
- 效果评估:
- 上线首月处理 15,000+ 次咨询
- 自动解决率 78%(无需人工介入)
- IT 部门工单量下降 62%
关键代码片段(企业微信机器人中间件):
import requests
from flask import Flask, request
DIFY_API_URL = "https://your-dify-instance.com/v1/chat-messages"
DIFY_API_KEY = "app-xxxxxxxxxxxxx"
@app.route('/webhook', methods=['POST'])
def handle_message():
msg = request.json
user_query = msg.get('content', '')
user_id = msg.get('from_user', 'anonymous')
response = requests.post(DIFY_API_URL, json={
"inputs": {},
"query": user_query,
"response_mode": "blocking",
"user": user_id
}, headers={
"Authorization": f"Bearer {DIFY_API_KEY}",
"Content-Type": "application/json"
})
return {"reply": response.json()['answer']}
案例二:技术文档智能问答系统
背景:某开源项目拥有 300+ 页的技术文档,用户检索效率低,开发者维护成本高。
方案实施:
- 使用 Dify 的网页同步功能,自动抓取文档站点的所有页面
- 分段策略采用"自动分段"模式,保留原有的标题层级
- 知识库索引完成后,创建文本生成应用用于文档问答
- 将应用嵌入到文档站点的右下角作为悬浮助手
效果数据:
- 文档检索时间从平均 3 分 20 秒降至 15 秒
- 开发者维护文档的工单量下降 45%
- 用户满意度从 3.2/5 提升至 4.6/5
进阶技巧
1. 多模型负载均衡
当单个模型的请求量过大或出现故障时,可以通过配置"后备模型"实现高可用:
- 在应用设置的模型选择区域,点击"添加后备模型"
- 按照优先级排列:主模型(如 GPT-4o)→ 备选模型(如 Claude)→ 兜底模型(如 DeepSeek)
- 当主模型不可用时,Dify 会自动降级到下一个可用模型
2. 知识库召回优化
如果检索效果不理想,可以从以下几个维度优化:
| 问题现象 | 可能原因 | 优化方案 |
|---|---|---|
| 检索不相关 | 分段过长,信息被稀释 | 减小分段长度至 300 tokens |
| 关键信息被切断 | 分段重叠不足 | 增加重叠至 80 tokens |
| 检索不到精确答案 | 向量模型不够精准 | 切换到 text-embedding-3-large |
| 长文档检索漏掉重要内容 | 只用语义检索 | 开启混合检索,增大关键词权重 |
| 多轮对话上下文丢失 | 未启用对话变量 | 添加变量存储器保存关键信息 |
3. 自定义工具(Tool)集成
Dify 支持创建自定义 API 工具,让 Agent 能够调用外部系统:
创建步骤:
- 进入 "工具" 页面,点击 "创建自定义工具"
- 使用 OpenAPI 3.0(Swagger)格式定义工具接口:
openapi: 3.0.0
info:
title: 订单查询API
version: 1.0.0
servers:
- url: https://api.your-company.com
paths:
/orders/{order_id}:
get:
summary: 根据订单号查询订单详情
parameters:
- name: order_id
in: path
required: true
schema:
type: string
responses:
'200':
description: 订单详情
- 保存后在 Agent 应用中即可调用该工具
4. 日志与监控
Dify 提供了完善的应用运行日志:
- 对话日志:记录每一次用户请求的完整交互过程,包括 LLM 调用耗时、Token 消耗
- 标注功能:可以对 AI 回复进行"点赞/点踩"标注,用于后续优化
- 分析面板:查看应用的使用趋势、活跃用户数、平均响应时间等关键指标
- 成本追踪:按模型类型统计 Token 消耗量和费用,便于成本管控
5. 批量测试与评估
在正式上线前,建议进行系统性的效果评估:
- 准备 50-100 个覆盖各种场景的测试问题
- 使用 Dify 的"批量测试"功能导入测试集
- 运行测试并查看每条问答的效果
- 针对低分回答逐一分析原因并调整提示词或知识库
常见问题
Q1:Dify 和 LangChain 有什么区别?我应该选哪个?
A:Dify 是一个"开箱即用"的平台产品,提供可视化界面和管理后台;LangChain 是一个开发框架,需要编写代码来构建应用。如果你需要快速搭建可上线的 AI 应用,选 Dify;如果你需要高度自定义的开发灵活性,选 LangChain。两者并不冲突,你也可以用 Dify 做原型,用 LangChain 做深度定制。
Q2:Dify 自部署需要多少成本?
A:Dify 本身完全免费开源。主要成本来自: - 服务器费用:最低配置约 ¥50-100/月(2核4G云服务器) - LLM API 调用费:视使用量而定,轻量使用约 ¥20-50/月 - 域名和 SSL 证书(可选):约 ¥50-100/年 整体月成本控制在 ¥100-200 即可运行一个中等规模的 AI 应用。
Q3:知识库支持多少种文件格式?上传有大小限制吗?
A:支持 TXT、PDF、HTML、Markdown、DOCX、XLSX、CSV、Notion。单个文件建议不超过 15MB。如果是超大文档(如几百页的 PDF),建议先手动拆分为多个章节分别上传,检索效果会更好。
Q4:Dify 的知识库支持实时更新吗?
A:支持。你可以随时向已有知识库添加新文档或删除旧文档,Dify 会自动重新索引。如果文档内容变化频繁,建议使用 API 方式自动同步,避免手动操作。
Q5:多个应用可以共享同一个知识库吗?
A:可以。一个知识库可以被多个应用同时关联,互不影响。这在需要为不同场景(如客服、销售、培训)提供统一知识基础的场景中非常实用。
Q6:Dify 数据安全性如何?
A:自部署模式下,所有数据(对话记录、知识库文档、用户信息)都存储在你自己的服务器上,Dify 官方不会接触任何数据。即使是 Cloud 版本,Dify 也提供数据加密和隔离机制。对于数据敏感型企业,强烈建议选择自部署方案。
总结
Dify 代表了 AI 应用开发从"手工作坊"走向"工业化"的重要趋势。它把原本需要资深算法工程师才能完成的 RAG 系统搭建、Agent 开发、工作流编排等工作,简化成了可视化拖拽操作,让更多没有深厚技术背景的人也能参与 AI 应用的构建。
从实战角度来看,Dify 最出彩的三个能力是:
- 知识库引擎:分段灵活、检索精准、支持多 Embedding 模型,是企业级 RAG 的标准答案
- 工作流编排:可视化画布 + 代码节点的组合,既能快速搭建原型,又保留了定制化空间
- 开源自部署:Docker 一行命令部署,数据完全自主可控,满足企业对数据安全的严格要求
如果你是独立开发者、中小企业技术负责人或 AI 产品经理,Dify 是目前搭建 AI 应用最值得投入学习的平台。它降低了技术门槛,但并不降低质量上限——你可以从简单的知识库问答开始,逐步进阶到复杂的工作流 + Agent 体系。
推荐学习路径:
- 先使用 Dify Cloud 版本体验基本功能(1-2 天)
- 在自己的服务器上完成 Docker 部署(半天)
- 构建一个基于知识库的简单问答应用(1 天)
- 尝试工作流模式,加入条件分支和 API 调用(2-3 天)
- 对接企业微信/飞书/钉钉等 IM 平台(1-2 天)
按照这个路径,一周时间你就能从零基础到能够独立交付一个完整的企业级 AI 应用。
本文由 AIGC-Sora.com 原创发布,发现更多 AI 工具请访问 https://aigc-sora.com