适合人群:想在自己电脑或服务器上搭一个“能根据内部文档回答问题”的 AI 助手,会一点命令行、装过 Docker,但不想从零写 RAG 代码的同学和开发者。
Dify 是一个开源的 AI 应用开发平台,可以在网页界面里配置模型、知识库、聊天助手和工作流。本文走一遍最基础的路线:用 Docker Compose 自部署 Dify,接入一个模型供应商,上传几份文档做成知识库,再搭一个带引用来源的问答助手。场景是:小吴想把团队的报销制度、请假流程整理成知识库,让同事直接提问。
一、确认机器配置
官方给出的最低配置是 CPU 2 核、内存 4 GiB。软件方面需要 Docker 和 Docker Compose 2.24.0 及以上:
- macOS:安装 Docker Desktop,并给 Docker 虚拟机至少分配 2 个 CPU、8 GiB 内存;
- Linux:Docker 19.03 及以上;
- Windows:需要开启 WSL 2,源码和数据放在 Linux 文件系统里,不要放在 Windows 分区。
可以先用docker compose version确认版本。
二、拉取源码并准备配置
从 Dify 的官方 GitHub 仓库(langgenius/dify)克隆最新发布版本。官方文档给出了自动获取最新版本号的完整命令,也可以手动指定版本号:
gitclone--branch<最新版本号><Dify 官方仓库地址>cddify/dockercp.env.example .env当前版本的官方文档还要求为智能体沙箱生成一个令牌:
openssl rand-base6432把输出结果填到 .env 文件里的 DIFY_AGENT_LOCAL_SANDBOX_AUTH_TOKEN 一项。不同版本的配置项可能变化,以你所下载版本的官方部署文档为准。
三、启动容器
dockercompose up-ddockercomposeps第一次启动需要拉取镜像,耐心等待。官方说明各容器应为 Up 或 healthy 状态,其中 init_permissions 是一次性任务,显示 Exited 属于正常。
四、初始化管理员账号
在浏览器地址栏输入 localhost/install(部署在服务器上则换成服务器 IP 加 /install),设置管理员邮箱、用户名和密码。完成后访问 localhost 即可登录。
五、添加模型供应商
每个 Dify 应用至少需要一个模型供应商。操作路径:
- 进入“集成 → 模型供应商”,在“安装模型供应商”区域安装需要的供应商;
- 点供应商卡片上的“设置”,填入 API 密钥,Dify 会先校验再启用;
- 点工具栏的“默认模型设置”,至少设置“系统推理模型”和“Embedding 模型”。
Embedding 模型用于知识库的索引和检索,不设置的话后面建知识库会受影响。如果用本机 Ollama 这类自建推理服务,需要通过“添加模型”手动填写模型名称。只有工作空间所有者和管理员能管理供应商。
六、创建知识库
- 点击“知识库 → 创建 → 创建即用型知识库”,选择上传本地文件(也支持从 Notion 或网页导入);
- 分段设置:默认是自动分段与清洗,右侧可以预览切分效果;
- 索引方式:“高质量”会调用 Embedding 模型、消耗 token,“经济”不消耗 token;检索方式有向量检索、全文检索和混合检索,官方教程中常用混合检索;
- 点“保存并处理”,等待处理完成。
处理完后,在知识库的文档页左侧点“召回测试”,输入“出差住宿标准是多少”之类的问题,看看能否找到对应段落。分段不连贯的话,可以进入文档手动调整、禁用或删除段落。
七、搭建问答助手并发布
- 进入“工作室”,创建应用,类型选“聊天助手”;
- 写一段提示词,例如“你是团队行政助手,只根据知识库内容回答,找不到就说不知道,不要编造”;
- 在“上下文”处点“添加”,选择刚才的知识库;
- 在“添加功能”里打开“引用和归属”,回答会附上来源段落;
- 在“调试与预览”里提问测试;
- 满意后点“发布”,按界面提示打开对应的 Web 应用分享给同事。
按钮位置随版本调整,以你部署版本的界面为准。
常见问题
问:克隆时报错 Remote branch null not found?
答:说明自动获取版本号失败,按官方建议手动指定一个最新版本号重新克隆。
问:容器反复重启或页面打不开?
答:先用docker compose ps看哪个容器异常,再检查内存是否够、.env 必填项是否填好。macOS 上记得调大 Docker 内存。
问:修改了 .env 怎么生效?
答:官方做法是先docker compose down,再docker compose up -d。
小贴士
- 先用两三份短文档跑通全流程,再批量导入。
- 文档里的标题层级清楚,分段效果通常更好。
- 聊天助手每次对话保留的历史有限(官方说明为最多 500 条消息或 2000 token),长对话前面的内容会被丢弃。
- 升级前对照新版本的 .env.example 检查新增配置项。
参考资料
- Dify 官方文档:使用 Docker Compose 部署 Dify https://docs.dify.ai/zh/self-host/deploy/quick-start/docker-compose
- Dify 官方文档:模型供应商、创建即用型知识库、在应用内集成知识库、聊天助手等章节