20分钟Dify部署实战:手把手构建RAG知识库
用Docker一键部署Dify平台,通过可视化界面快速搭建基于私有文档的RAG问答应用。后端开发者无需编写代码,即可完成从部署到上线的全流程,解决AI应用开发门槛高、迭代慢的痛点。

大家好,我是周小码。做后端8年,最近带团队接了不少AI项目,最大的感受是:现在的AI开发门槛越来越低,但要从零搭一个靠谱的、能对接业务系统的AI应用平台,还是得折腾大半天。如果你也遇到过这些场景:
- 想快速给业务线做个智能客服,但团队没有专门的前端和算法同学
- 想基于公司内部的PDF/Word文档做个知识库问答,但不想从头写RAG管线
- 老板让你「尽快看看大模型能不能用上」,你需要一个能演示、能快速迭代的方案
这篇教程就是为你准备的。接下来会带你用Docker Compose在本机部署Dify平台,然后从零创建一个基于私有文档的RAG知识库应用。整个过程不需要写一行代码,全部通过可视化界面完成。
前置条件
开始前,确认机器满足以下最低要求(Dify官方给出):
- CPU ≥ 2 核
- 内存 ≥ 4 GiB
- 已安装 Docker(20.10+)和 Docker Compose(2.0+)
为什么要4GiB起步?因为Dify本地部署会同时拉起后端API服务、前端Web服务、PostgreSQL、Redis、Weaviate(向量库)等多个容器,内存吃紧的话容器会被OOM Kill。
第一步:获取代码并启动
打开终端,克隆仓库并进入docker目录:
bash
git clone https://github.com/langgenius/dify.git
cd dify/docker
复制环境变量模板、一键启动:
bash
cp .env.example .env
docker compose up -d
.env文件包含了数据库密码、服务端口等关键配置。cp .env.example .env生成默认配置,大部分场景无需修改。docker compose up -d在后台拉起所有依赖容器。
首次启动会拉取镜像,根据网络情况可能需要2-5分钟。启动完成后,确认所有容器运行正常:
bash
docker compose ps
所有容器状态应为running或Up(至少应看到api、web、db、redis、weaviate等)。
第二步:初始化平台
启动成功后,浏览器访问http://localhost/install,进入Dify初始化页面。按提示创建管理员账户并设置初始工作空间。
初始化完成后会自动跳转到仪表盘,左侧导航栏包含探索、工作室、知识库、工具、模型等模块,这里是后续操作的「主战场」。
第三步:实战演示——搭建RAG知识库问答应用
假设你手上有一份公司的《员工手册.pdf》,想让AI自动回答员工提出的政策问题。
1. 配置模型
进入「模型」页面 → 选择「OpenAI」(或其他已接入的模型提供商)→ 填入API Key。国内用户可选择兼容OpenAI接口的通义千问、智谱等大模型,在Dify模型供应商列表中均可找到。
配置模型是后续所有AI能力的基础,相当于给系统「插电」。
2. 创建知识库
左侧点击「知识库」→「创建知识库」→ 上传PDF/Word/TXT文件。
上传后Dify引导完成分段设置和嵌入模型选择。分段决定文档切成多长的文本块,推荐先用默认的「自动」模式。嵌入模型用于将文本转为向量,选择与知识库同厂商的即可。
处理完成后,文档就变成「可被检索」的知识库了。
3. 搭建问答应用
回到「工作室」→「创建应用」→ 选择「聊天型应用」。
进入编排界面后,可视化工作流画布操作:
- 添加「知识库检索」节点,选择刚创建的知识库
- 添加「LLM回答」节点,配置Prompt上下文为
$knowledge# - 调整节点连线:用户输入 → 知识库检索 → LLM回答 → 输出
点击「保存」→「发布」,右侧测试对话窗口即可试用。
试着问上传文档里的问题,Dify会从知识库检索相关内容,再让LLM生成回答。典型RAG管线操作全在图形界面拖拽完成。
4. 获取API接入业务系统
应用发布后,在「概览」页面查看API地址和密钥。Dify提供标准REST API,可用Python/Java/Go等直接调用,将AI能力嵌入现有OA、客服、CRM系统中。这就是「Backend-as-a-Service」的价值。
踩坑提醒
- 端口冲突:Dify默认使用80/443端口。本机已跑Nginx或其他服务时,可在
.env中修改EXPOSE_NGINX_PORT。 - 模型Key无效:国内网络访问OpenAI需代理或镜像站。建议先用智谱、通义等兼容接口测试,跑通后再换正式模型。
- 容器启动失败:运行
docker compose logs -f查看报错。最常见是PostgreSQL首次初始化时间过长,等待1-2分钟刷新页面即可。 - 知识库检索为空:检查嵌入模型配置和分段设置。文档过小(<500字符)时检索效果会大打折扣。
总结
步骤回顾:
git clone+docker compose up -d一键部署- 浏览器访问http://localhost/install初始化
- 配置模型 → 上传文档创建知识库 → 可视化编排问答应用 → 发布上线
整个过程从部署到上线不超过20分钟。Dify最吸引人的是把RAG管线、Agent配置、LLMOps监控全部产品化,无需写胶水代码、不用担心向量库选型,精力可专注业务逻辑。
下一步探索方向:
- 创建Agent工作流,接入Google Search、代码执行等50+内置工具
- 通过API对接Spring Boot或Express项目
- 配置LLMOps监控面板,追踪Token消耗和延迟
Dify的GitHub Issues和社区Discord活跃,常见问题都能找到答案。动手试试吧,有问题随时交流。