进阶 13 分钟No-code

Dify 自托管:基于您的LLM创建AI应用 本地

Dify 是一个开源平台,可让您通过可视化界面构建 AI 应用——聊天机器人、工作流、智能体和 RAG 助手——无需编写一行代码。自行部署并连接 Ollama 后,它便能在您的本地模型之上提供完整的“无代码”功能层:您的提示词、文档和数据始终不会离开您的机器。本指南涵盖通过 Docker Compose 部署、连接本地 LLM,以及构建第一个可正常工作的 RAG 助手。

作者: Marie L.·更新于 2026-08-27·已在 Windows、macOS 和 Linux 上测试

#为何选择Dify而非聊天界面

Open WebUI 或 LM Studio 足以与模型对话。Dify 则更进一步:构建可复用的应用。您定义系统提示词,接入知识库,通过 API 或可嵌入的聊天组件提供这些功能,并对每轮迭代进行版本管理。它相当于可在本地运行的开源版 OpenAI Assistants 或 Coze。

Dify + Ollama 组合有两方面的优势。首先是隐私:与连接 GPT-4 或 Claude 的 Dify 不同,这里的已索引文档和对话都留在您的基础设施上。其次是成本:不按 token 收费,您可以反复尝试数百个提示词,无需盯着 API 账单。

Chatbot
一个配备系统提示、输入变量和对话记忆的对话助手。
智能体
能够循环调用工具(网络搜索、计算、API),直至完成任务的助手。
Workflow
由 LLM、条件判断、信息提取、HTTP 等节点构成的可视化链路,用于确定性处理。
Knowledge / RAG
对您的文档进行索引,使应用能够基于这些文档进行响应,并附上来源引用。
i
无需编写代码,但仍需配置
Dify 可以省去编写应用代码的工作,但仍是一个技术工具:您需要处理提示词、变量和文档切分参数。除了安装本身,还要预留足足一小时来熟悉工具的使用。

#先决条件

本地副驾驶套件

本指南带你上手模型。工具包则帮你用上能在你的编辑器中编写代码的编程助手。

  • 在线空间,终身可用
  • PDF + 文件
  • 30 天内退款

Dify 是一个多容器应用(API、后台任务进程、前端、PostgreSQL 数据库、Redis、向量数据库)。它通过 Docker Compose 部署。模型方面,这里假设 Ollama 已经运行,并监听其默认端口。

Docker + Docker Compose
较新版本的 Docker Engine,并安装 Compose 插件(命令为 docker compose)。在 Windows/macOS 上,Docker Desktop 即可满足要求。
Ollama正常运行
已安装 Ollama 守护进程,且可通过 http://localhost:11434 访问。开始前,请运行 ollama list 进行测试。
一个聊天模型
例如 qwen3.5:9b(256k 上下文、多模态、Apache 2.0 许可证),它是 2026 年 8GB 显存条件下的标杆选择。采用 Q4 量化时,它可装入约 6.6GB 显存,RTX 3060 12GB 绰绰有余。
嵌入模型
这是 RAG 必不可少的组件:nomic-embed-text 是默认选择,轻量且高效。
资源
除 Ollama 模型消耗的显存和内存外,还需为 Dify 技术栈本身预留约 8 GB 内存。
终端 — 准备模型
# Vérifier qu'Ollama répond
ollama list

# Modèle de chat (choisissez selon votre VRAM)
ollama pull qwen3.5:9b

# Modèle d'embeddings pour le RAG
ollama pull nomic-embed-text

#使用Docker Compose安装Dify

Dify 提供官方仓库,其中包含一个开箱即用的 docker 文件夹。克隆仓库,复制示例环境文件,然后启动整套服务。

  1. 01
    克隆仓库
    从 GitHub 获取项目的最新稳定版本,然后进入包含 docker-compose.yaml 文件的 docker 文件夹。
  2. 02
    创建 .env 文件
    将.env.example复制为.env。默认值足以满足本地使用;稍后您会在此文件中调整端口或密钥。
  3. 03
    启动服务栈
    运行 docker compose up -d。首次启动会下载镜像并初始化 PostgreSQL 数据库;预计需要几分钟时间。
  4. 04
    创建管理员账户
    在浏览器中打开 http://localhost/install,并输入第一个管理员的邮箱和密码。该账户将管理工作空间。
终端 — 部署
git clone https://github.com/langgenius/dify.git
cd dify/docker

cp .env.example .env

docker compose up -d

# Vérifier que les conteneurs tournent
docker compose ps
→
界面运行在 80 端口
默认情况下,Dify 前端暴露在 http://localhost(端口 80),而非某个非标准应用端口。如果端口 80 已被占用,请在 .env 文件中修改 EXPOSE_NGINX_PORT,然后重新运行 docker compose up -d。

#接入Ollama作为模型提供方

只有将 Ollama 设置为模型提供商,Dify 才能识别您的本地模型。这需要在模型设置中完成,而不是修改配置文件。最需要注意的是 URL:在 Docker 容器中,localhost 指向容器自身,而不是运行 Ollama 的宿主机。

  1. 01
    打开供应商设置
    点击右上角的头像 → 设置 → 模型提供商。在列表中查找 Ollama 并选择它。
  2. 02
    输入服务器URL
    在 Base URL 字段中,输入容器能够访问的地址(见下方提示框)。模型名称必须与 ollama list 返回的名称完全一致,例如 qwen3.5:9b。
  3. 03
    添加聊天模型
    模型类型:LLM。填写上下文长度(例如 8192 或更高,具体取决于模型),然后确认。Dify 会在保存时测试连接。
  4. 04
    添加嵌入模型
    对 nomic-embed-text 重复上述操作,并选择 Text Embedding 类型。没有这个模型,您就无法构建知识库。
  5. 05
    设置默认模型
    接着仍在设置中,将 qwen3.5:9b 设为默认系统模型,并将 nomic-embed-text 设为默认嵌入模型。
!
容器内localhost无法使用
Ollama 在宿主机上运行,而 Dify 在 Docker 中运行。在 Docker Desktop(Windows/macOS)下,请使用 http://host.docker.internal:11434。在 Linux 下,请使用 Docker 网关的 IP 地址(通常为 http://172.17.0.1:11434),或设置 OLLAMA_HOST=0.0.0.0 后启动 Ollama,再连接到宿主机在局域网中的 IP 地址。
终端 — 将 Ollama 暴露到网络(Linux)
# Rendre Ollama joignable au-delà de localhost
# (à ajouter dans le service systemd ou l'environnement)
OLLAMA_HOST=0.0.0.0 ollama serve

# Vérifier depuis l'hôte que l'API répond
curl http://localhost:11434/api/tags

#无需编程,构建首个 RAG 助手

RAG(检索增强生成)使模型能够基于您的文档进行回答,而不仅仅依赖训练时的知识。在Dify中,这通过一个知识库(Knowledge)实现,之后再将其关联到某个应用。

  1. 01
    创建知识库
    Knowledge 选项卡 → 创建。导入您的文件(PDF、Markdown、TXT、DOCX)。Dify 会自动将文件切分为文本块。
  2. 02
    调整分块与索引设置
    请选择“高质量”索引模式,该模式使用您的 nomic-embed-text 嵌入模型。如果您的文档结构化程度很高(如表格、代码),请调整文本块的大小。
  3. 03
    创建聊天应用
    Studio选项卡 → 创建应用 → 聊天机器人。为其命名并添加描述。
  4. 04
    编写系统提示
    在编辑器中描述助手的角色:「你仅根据提供的文档回答。若文档中未包含相关信息,请明确指出。」这有助于限制幻觉的发生。
  5. 05
    关联知识库
    在应用的“上下文”面板中,添加第 1 步创建的知识库。启用来源引用,让回答显示所使用的摘录。
  6. 06
    测试后发布
    请使用右侧的调试面板提出问题。当行为符合预期时,点击发布以获取聊天URL和API密钥。
→
嵌入模型与聊天模型同样重要
RAG 的质量首先取决于检索到的段落是否相关。好的嵌入模型(nomic-embed-text,或在资源有余量时使用 mxbai-embed-large)能显著改善回答,即使搭配的聊天模型较为普通也如此。不要把所有资源都投入大型 LLM,而忽视嵌入模型。

#工作流和智能体:无代码能做到什么程度

超越简单的聊天机器人,Dify 提供了两种更高级的模式。工作流模式提供了一个可视化画布,用户可以连接节点:用户输入、调用 LLM、条件判断(if/else)、参数提取、HTTP 请求、列表迭代。由此构建出确定性的数据流程——例如:接收一封电子邮件,进行分类,提取实体,然后生成标准回复。

Agent 模式下,模型可以自主决定调用哪些工具以及调用顺序,并在循环中持续执行,直到达成目标。该模式更强大但也更脆弱:性能高度依赖模型的推理能力以及遵循工具调用格式的能力。小型本地模型(2-4B)表现不佳;建议选择专为工具使用优化的模型,例如 GLM 4.7 Flash(MoE 30B-A3B,MIT,约19 GB)或 Qwen 3.8 27B(约18 GB),前提是您的 VRAM 足够。

无代码工具擅长的方面
快速制作 RAG 聊天机器人原型,串联几个 LLM 步骤,无需编写后端即可提供 API,团队协作迭代提示词。
本地环境中的瓶颈所在
要求较高的多工具智能体需要具备可靠工具调用能力的模型,因此也需要相应的显存。Qwen 3.5 9B 足以用于 RAG,但通常难以胜任复杂智能体的需求。
何时进入代码阶段
精细的业务逻辑、定制集成、对检索流程的完全控制:当可视化画布显现出局限时,LangChain 这样的库就能接手。

#故障排除

添加模型时出现「Connection refused」错误
Dify 无法连接到 Ollama。问题几乎总是出在 URL 上:请将 localhost 替换为 host.docker.internal(Docker Desktop)或 Docker 网关的 IP 地址(Linux),并确认 Ollama 确实在 0.0.0.0 上监听。
模型未显示
输入的名称与 ollama list 列出的名称不一致。请复制完整准确的名称,包括标签(qwen3.5:9b,而不是 qwen3.5)。
文档索引过程中出现错误
嵌入模型未配置或未下载。请执行 ollama pull nomic-embed-text 并将其设置为默认嵌入模型。
响应非常缓慢
聊天模型很可能有一部分运算已转由 CPU 承担。请改用更轻量的量化格式(Q4_K_M)或更小的模型,并确认 Ollama 确实在使用 GPU。
端口 80 已被占用
另一个服务占用了端口。请修改.env文件中的EXPOSE_NGINX_PORT(例如8080),然后重新运行docker compose up -d。
尽管使用了RAG仍产生偏离主题的回复
请确认知识库已正确关联到应用,并且系统提示要求模型必须依据上下文作答。同时调整文本块的大小。

#深入了解

Dify 能发挥多大价值,取决于支撑它的模型和基础设施有多可靠。这些指南有助于巩固它所依赖的基础组件。

安装 Ollama
通过 11434 端口提供聊天模型和嵌入向量服务的守护进程——整个 Dify 本地技术栈的基础。
使用 ChromaDB 和 Ollama 进行本地 RAG
用于了解 Dify 在底层自动完成了哪些操作,并在无代码方案显现局限时,用 Python 重新掌握控制权。
n8n + Ollama:本地自动化
另一种无代码方法,专注于任务自动化,与 Dify 的工作流互补。
这份指南对您有帮助吗?

有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。