我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

Dify 入门:用 Docker 自部署并搭建知识库问答助手

Dify 入门:用 Docker 自部署并搭建知识库问答助手 适合人群想在自己电脑或服务器上搭一个“能根据内部文档回答问题”的 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 内存LinuxDocker 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-composeDify 官方文档模型供应商、创建即用型知识库、在应用内集成知识库、聊天助手等章节
返回列表