跳转到内容

Dify 教程:企业级 RAG 平台搭建(含 Docker 私有化部署)

学完这一节,你能:

  • Docker 把 Dify 部署到本地(或用云端版)
  • 搭一个带混合检索 + Rerank 的知识库应用(比 Coze 更工程化)
  • 说清 Dify 相比 Coze 的优势:可私有化、可二次开发、API 友好

Dify(111k★ GitHub 开源)是国内 FDE 做 RAG 落地的首选平台,腾讯/蚂蚁/用友的 JD 里经常直接点名。

Coze = 公租房,Dify = 自建房。

  • Coze:字节托管,开箱即用,但你不能改房子结构,数据在别人服务器
  • Dify:开源,你可以自己装在自己服务器上,数据完全私有,还能改源码

企业客户(尤其金融、政务)绝对不允许数据出内网——这就是 Dify 的核心价值:能私有化部署

这个“公租房 vs 自建房”的类比会贯穿全节:每讲一个 Dify 的特点,都对回“住公租房 vs 住自建房”的区别。讲到 RAG 检索和 Docker 部署,我们还会再加两个新类比,让你彻底看懂。

维度 Coze(公租房) Dify(自建房)
部署 字节托管(SaaS) 可本地/私有云部署
开源 ✅ MIT 协议
数据隐私 数据在字节 数据完全自有
二次开发 ✅ 可改源码
上手难度 极简 中等
适用 快速 Demo、个人 企业生产、合规场景
RAG 能力 基础 (混合检索、Rerank、多源)
API 受限 完整 OpenAPI

回到类比:公租房(Coze)拎包入住,但你不能砸墙、不能挑邻居、房租可能涨;自建房(Dify)要自己打地基、自己装修,但房子归你、想咋改咋改、地契在你手里。客户要的是“地契在手里”,所以企业级必选 Dify。

FDE 决策:

  • 给客户做第一版 Demo → Coze(快,公租房当天入住)
  • 客户要真上线、要数据私有 → Dify(生产,自建房地契在手)
  1. 聊天助手:对话型应用,带知识库、记忆
  2. Agent:能调工具、多步推理
  3. 工作流:可视化编排多步骤流程
  4. 文本生成:单次输入→输出(翻译、分类、抽取)

这里有两个技术词必须先讲透:混合检索Rerank。这俩是 Dify 比 Coze 强的关键,也是企业级 RAG 准确率的命门。

先说几个名词(每个都有大白话):

  • Embedding(向量化):把一段文字变成一串数字,方便计算机比“像不像”。就像给每段话贴个“气味标签”,气味相近的内容,意思也相近。
  • 向量检索:比“气味标签”——你问的问题和文档片段气味相近,就捞出来。优点是懂意思(同义词能匹配),缺点是有时候不精准。
  • 全文检索:比“关键词”——你问的词原文里有没有出现。优点是精准,缺点是死板(同义词匹配不到)。

混合检索(关键): 用一句大白话——既看意思像不像,又看关键词对不对

回到类比:就像你找一本讲“休息”的书。只看关键词(全文检索),你只能找到标题里有“休息”二字的书,找不到讲“放假”“休假”的;只看意思(向量检索),你会找到一堆“放假”“歇息”的,但可能漏掉那本标题就叫“休息指南”的精准货。混合检索 = 两个都看,既找意思相近的、也找关键词精准命中的,两边并一起,漏网之鱼就少多了。这就是企业级 RAG 必须用混合检索的原因。

Rerank(重排序): 用一句大白话——初赛选 20 个,复赛挑 3 个最相关的

回到类比:混合检索捞回来 20 段可能相关的文档(初赛入围),但塞给大模型太多它反而糊涂。Rerank 就像个严格的复赛评委,把这 20 段重新打分,只挑最相关的 3 段交给大模型回答。初赛广撒网,复赛精选,准确率就这么提上去了。这就是 Rerank 是“精准度关键”的原因。

Dify 的 RAG 全套能力清单:

  • 多源知识库:PDF/Word/网页/Notion/飞书
  • 分块策略:自动 / 自定义(按段落、按长度)
  • Embedding:BGE / OpenAI / 通义 多种(就是上面说的“贴气味标签”的工具,挑一个用)
  • 检索模式:向量 / 全文 / 混合检索(生产必选,前面讲过)
  • Rerank:BGE-Rerank / Cohere(就是“复赛评委”,前面讲过)
  • 可观测:每次问答能看到检索了哪些片段(=能看到“评委选了哪 3 段”)

回到类比总结:Dify 的 RAG 强,强在它把“贴标签 → 初赛混合检索 → 复赛 Rerank → 看选了啥”整条流水线都做齐了。Coze 只做了前半截,所以企业级要准确率,就得用 Dify。

🛠️ 动手实操:Docker 部署 + 知识库应用

Section titled “🛠️ 动手实操:Docker 部署 + 知识库应用”

下面每一步,开头都告诉你**“这步在干嘛”**。Docker 部分术语多,我们慢慢拆。

回到类比:接下来你要从“住公租房”搬到“自己盖一栋房”。盖房听着吓人,但 Dify 把整个施工流程做成了“预制件”,你按步骤拼就行。

先说三个名词,看完就不慌:

  • Docker:一个“搬家集装箱”工具。它把软件和软件需要的所有环境打包进一个“集装箱”(叫“容器”),保证在你电脑、我电脑、客户服务器上跑起来都一模一样——不会再有“我电脑上能跑啊”这种玄学问题。
  • git clone:从网上把一份代码“复制下载”到本地。
  • docker compose up:一键启动一整套集装箱(=一键把 Dify 的所有零件跑起来)。
Terminal window
# 装 Docker(如果没有)
# 这步在干嘛:买"集装箱起重机"。没起重机搬不了集装箱
# macOS: brew install --cask docker 然后启动 Docker Desktop
# 克隆 Dify
# 这步在干嘛:从 Dify 的网上仓库,把盖房用的全套图纸和预制件下载到本地
git clone https://github.com/langgenius/dify.git
cd dify/docker
# 复制环境变量模板
# 这步在干嘛:把"图纸里的默认配置"抄一份成你自己的配置文件,后面要改就改这份
cp .env.example .env
# 启动
# 这步在干嘛:一键开工——Docker 按图纸把所有预制件(数据库、后端、前端…)一个个搭起来跑着
docker compose up -d
# 等几分钟拉镜像,完成后查看
# 这步在干嘛:看一眼所有"集装箱"是不是都在正常跑(running)
docker compose ps

✅ 全部 running 后,浏览器打开 http://localhost/install,按提示注册管理员账号。

这步在干嘛:给新房接通“水电”——这里就是接通大模型的能力。

进入 Dify → “设置” → “模型供应商”:

  • 智谱:填 GLM API Key(模块 1 申请的)
  • 通义:填 DashScope Key
  • 本地模型(可选):接 Ollama,完全离线

这步在干嘛:给这栋新房打“书柜”,往里摆上要查的书。

回到类比:这一步对应前面讲的 RAG 流水线第一步——把文档塞进去、选好“贴标签工具”(Embedding)、设好“初赛+复赛”(混合检索+Rerank)。

  1. “知识库” → “创建知识库”
  2. 上传 5-10 份 PDF(本教程文档、或公司制度文档)
  3. 分段:选“自动”
  4. Embedding:选 bge-large-zh(国产,中文好)——就是选“贴气味标签”的工具
  5. 检索设置:混合检索(向量 + 全文)+ Rerank 模型 bge-reranker-v2-m3——就是同时开“初赛广撒网 + 复赛精选”

这步在干嘛:在新房里请一个“图书管理员”,告诉它“只准翻书柜里的书回答”。

  1. “工作室” → “创建应用” → “聊天助手”
  2. 关联刚才的知识库
  3. Prompt 写:“你是基于知识库的问答助手。只基于知识库回答,找不到就说’知识库里没有’”
  4. 测试:问一个文档里有的问题,看回答 + 引用片段

这步在干嘛:给新房装个“对外营业的窗口”——别的系统能通过这个窗口来问问题。

回到类比:这一步让你的 Dify 应用能被任何外部系统(公司的 App、网站、小程序)调用——这是它从“自己用的工具”变成“对外的生产系统”的标志。公租房(Coze)你想开个对外窗口得看房东脸色,Dify 是自建房,你想开几个开几个。

“应用” → “访问 API” → 拿到 API Key。

Terminal window
# 用 curl 调用你的 Dify 应用
# 这步在干嘛:模拟"外部系统"问你的 Dify 一个问题,验证对外窗口真的通了
curl -X POST 'http://localhost/v1/chat-messages' \
-H 'Authorization: Bearer 你的app-key' \
-H 'Content-Type: application/json' \
-d '{
"inputs": {},
"query": "年假怎么请?",
"user": "test-user"
}'

✅ 这一步让 Dify 应用能被任何外部系统调用——这是它从“工具”变成“生产系统”的标志

回到类比:回头看,你从公租房(Coze)搬进自建房(Dify)只用了 5 步:盖房(Docker 部署)→ 接水电(配模型)→ 打书柜(知识库)→ 请图书管理员(聊天助手)→ 开对外窗口(发布 API)。整套流程跑通,你就有了一栋“数据不出门、能对外营业”的私家 AI 小楼。

问题 原因 解决
docker compose up 拉镜像超慢 网络问题 配 Docker 镜像加速器(阿里云/腾讯云)
端口冲突(80/443 被占) 本机有其他服务 .envEXPOSE_PORT
知识库导入失败 PDF 是扫描件(图片) 先用 OCR 工具转文字,或用 Dify 的 Unstructured
回答不引用知识库 检索没命中 / Rerank 没配 检查分段策略,开混合检索 + Rerank
API 调不通 Key 错 / 端口没映射 确认 app-key,Dify 要在运行状态
1. 企业客户为什么选 Dify 而不是 Coze?

数据隐私。金融/政务客户不允许数据出内网,Dify 可私有化部署,数据完全自有——就像自建房地契在手,公租房数据在房东那。

2. 用大白话解释"混合检索"和"Rerank"分别干嘛。

混合检索:既看意思像不像(向量检索),又看关键词对不对(全文检索),两边并一起,漏网之鱼少。 Rerank:混合检索捞回 20 段(初赛),Rerank 重打分只挑最相关的 3 段交给大模型(复赛精选),准确率由此提升。

🚀 实战小项目:给真实企业做问答机器人

Section titled “🚀 实战小项目:给真实企业做问答机器人”

找一个真实组织(朋友公司、学校社团、家人单位),要 10-50 份制度文档(HR/财务/IT),用 Dify 搭一个问答机器人:

验收:

  1. 收集 20 个员工真实问题作为测试题
  2. 机器人答对 ≥ 80%
  3. 能发成 API,被其他系统调用

3 句话回顾:

  1. Dify 是可私有化部署的开源 AI 平台(自建房),企业 RAG 落地首选
  2. 相比 Coze(公租房):数据私有、可二次开发、API 完整——生产级
  3. FDE 节奏:Coze 做 Demo 验需求 → Dify 做生产上线

下一节:进入模块 3,我们学代码框架(LangChain / LangGraph / MCP)——当低代码平台不够用时,你需要用代码做完全自定义的 Agent。

  • Dify 云端版 — 不想自己装 Docker,直接用云端版试(免费额度、国内可能慢)
  • Dify 官方文档 — 重点看“知识库”和“混合检索”章节(免费)
  • Dify GitHub 案例 — 看 issues 和 discussions 里的真实部署案例(免费)

← 上一节:Coze 扣子 | 下一节:LangChain 框架