AI 实践 AI PRACTICE · AI 教程

零代码做一个自己的 AI 应用:Dify 社区版部署手记

想给同事做一个"规程问答助手",要求像模像样、能挂知识库、还能指定用本机模型——Dify 社区版正好干这个。这篇记录我从 docker compose 部署、接 Ollama 本地模型、传知识库调召回,到发出第一个应用链接的全过程,以及升级、内存、许可证上的坑。

作者:站长发布 更新 # AI 教程# Dify# AI 应用# 低代码约 5 分钟

本页目录 CONTENTS
  1. 01 为什么想搭这个
  2. 02 部署:docker compose 一把梭
  3. 03 第一件事:接模型
  4. 04 第二件事:做一个问答应用
  5. 05 我踩过的坑
  6. 06 总结

为什么想搭这个

上一篇 n8n 解决的是"流程自动化",但有时候我想要的东西更简单:给同事做一个能直接打开的"规程问答助手"网页,背后挂着我整理好的知识库,界面要像模像样,还不能要求每个人都会写代码。自己从零写前端 + 后端 + 接大模型 API,工作量不小;Dify 恰好就是干这个的——开源的 LLM 应用开发平台,画布上编排提示词、挂知识库、发布成网页或 API。

Dify 在 GitHub 上有 15 万+ star(截至 2026-10-17 我查是 15.8 万左右),社区版可以免费自托管,模型供应商既可以是 OpenAI 这类云服务,也可以是我前两篇写的、跑在本机的 Ollama。数据和应用都攥在自己手里,单位内网用也踏实。

Dify 官方 README 封面图

▲ 图 1:Dify 官方 README 封面(来源:langgenius/dify GitHub 仓库,版权归原作者所有)

部署:docker compose 一把梭

官方自托管文档的最低要求是 CPU ≥ 2 核、内存 ≥ 4 GiB,Windows 走 WSL2 + Docker Desktop(Docker Compose 不低于 2.24)。步骤以官方文档为准,核心就四步:

# 1. 克隆指定版本的源码(tag 以 releases 页最新为准,当前 1.17.x)
git clone --branch 1.17.1 https://github.com/langgenius/dify.git

# 2. 进 docker 目录,准备环境变量
cd dify/docker
cp .env.example .env

# 3. 一键起服务
docker compose up -d

这一步会拉起 16 个容器:api、worker、web 等 7 个核心服务,加上 Weaviate 向量库、PostgreSQL、Redis、nginx 等 8 个依赖组件。所以那 4 GiB 内存只是底线,实机建议 8 GiB 起步,不然向量库一吃内存整机就卡。

起来之后浏览器访问 http://localhost/install(nginx 默认占 80 端口),先设置管理员账号,再登录进主界面。

Dify 平台功能总览图

▲ 图 2:Dify 平台功能总览(来源:langgenius/dify 仓库 images 目录)

第一件事:接模型

进 Dify 后先去「设置 → 模型供应商」添加供应商。我走的两条路:

  • 本机 Ollama:供应商选 Ollama,地址填 http://host.docker.internal:11434(容器访问宿主机)。这样问答全程不出内网,和我第一篇 Ollama 教程完全衔接;
  • 云端 API:OpenAI、DeepSeek 等按各家控制台申请 Key 填进去即可。

Dify 支持的供应商非常多(官方 README 有一张供应商矩阵图),选哪家看你的数据敏感度和预算。

Dify 支持的模型供应商矩阵

▲ 图 3:Dify 支持的模型供应商矩阵(来源:langgenius/dify 仓库 images 目录)

第二件事:做一个问答应用

点「创建应用」选聊天助手模板,进入编排页:

  1. 写好系统提示词(角色、语气、拒答边界);
  2. 关联知识库:把规程 PDF 传进「知识库」,它会自动解析切块并向量化,聊天时挂到应用上,回答就基于你的文档;
  3. 发布:一键生成公开访问链接,或者直接嵌入已有系统。

从部署到给同事发出第一个可用的问答链接,我前后花了不到两个小时。这张图是官方 README 里的应用形态示意,基本就是我做出来的东西的样子。

知识库这一环值得多说两句。文档传进去后 Dify 会自动切块、Embedding、存进 Weaviate 向量库,但默认切块参数不总是合适:规程 PDF 一章一条,块太大容易答非所问,块太小又丢上下文,我在「知识库 → 分段设置」里把分段长度调到 512 token、保留 50 token 重叠后,命中质量明显好了。每个知识库都有「召回测试」面板,拿真实问题试,看召回的段落对不对,不满意就调参数——这一步省不得。另外对话日志里能看到每次问答引用了哪些分段,回答错了可以一键标注,把bad case喂回知识库或改提示词,形成闭环。

Dify 应用形态示意

▲ 图 4:Dify 应用形态示意(来源:langgenius/dify GitHub 仓库 README 配图)

我踩过的坑

  • 80 端口被占:nginx 默认绑 80,本机若跑着 IIS 或别的 Web 服务会起不来,改 docker/.env 里的端口映射再重启。
  • WSL2 内存不够:Docker Desktop 默认只分一半内存,跑 Dify 要在设置里把虚拟机的内存调到 6–8 GiB。
  • 升级别偷懒:官方升级指引要求比对新 .env.example 和自己 .env 的差异,新增变量要补;改过 compose 文件的,把改动重新套到新版本文件上,别直接沿用旧文件——新版本可能新增必要服务。
  • 许可证边界:Dify 社区版以 Apache-2.0 为基础但附加了条件(比如对外提供多租户服务受限、展示其 Logo 等),商用部署前务必读仓库 LICENSE 全文,别只看"开源"两个字。

总结

Dify 把"做一个 AI 应用"的门槛降到了"会填表、会拖画布"。对我这种想快速给同事交付一个小工具、又在意数据不出内网的人,社区版自托管是很划算的选择:两小时部署,一个下午就能发出第一个应用。它和我前面写的 Ollama、n8n 能串成完整的一套:Ollama 出模型、Dify 出应用、n8n 出流程。下一篇换个方向,不写平台了,写一个本地小模型——Whisper,把会议录音变成文字。

来源与修订说明

参考来源
灵感来源:Dify(github.com/langgenius/dify,以 Apache-2.0 为基础附加条件的许可,对外提供多租户等服务受限,商用前请阅读仓库 LICENSE)。硬件要求(CPU≥2 核、内存≥4 GiB)、Docker Compose≥2.24、docker/.env 流程、容器构成与升级指引已对照 2026-10-17 时 docs.dify.ai 自托管文档核对(当日社区版 1.17.x)。图片取自 Dify 官方仓库 images 目录,版权归原作者所有。
首次发布
2026-10-17 · 零代码做一个自己的 AI 应用:Dify 社区版部署手记
最近修订
2026-10-17 · 首发。容器清单与最低配置随版本变化,部署时以官方当时文档为准。
更正说明
如发现技术性错误,请在评论区指出,确认后将在本区块登记修订记录。

评论

0 条 · 先审后发

评论在通过审核前,仅提交者本人可见;审核通过后对所有人公开展示。 当前为未登录状态,登录后可参与评论。

还没有通过审核的评论,来抢沙发。