Dify GPU 托管指南 2026 — 使用 Dify 运行本地 LLM
在 GPU 服务器上托管 Dify,并连接 Ollama 或 LocalAI,在本地运行 Llama 3、Mistral 等开源模型——零 API 调用费用,数据完全私密。
为什么要在 GPU 服务器上运行 Dify?
通过 Ollama 或 LocalAI 将 Dify 连接到本地托管的 LLM,可以完全消除对云端 AI 提供商的依赖。以下是您的收益:
无 API 费用
只需支付 GPU 服务器费用——无需按 token 计费。大规模使用时成本大幅降低。
数据隐私
提示词和响应不会离开您的基础设施——对受监管行业至关重要。
自定义模型
运行任何公共 API 无法提供的微调或领域专用模型。
无速率限制
GPU 能处理多少请求就发多少——无节流,无配额错误。
GPU 云服务商对比
价格为 2026年初按需使用的大致费率,预留实例和竞价实例通常更便宜。
| 服务商 | GPU | 显存 | 价格/小时 | 适用场景 |
|---|---|---|---|---|
| Lambda Labs | A10 | 24 GB | $0.75/小时 | 开发测试 |
| Vast.ai | RTX 4090 | 24 GB | ~$0.35/小时 | 经济实惠 |
| RunPod | A100 | 80 GB | $1.99/小时 | 生产环境 |
| CoreWeave | H100 | 80 GB | $2.50/小时 | 企业级 |
| Hetzner GPU | A100 | 80 GB | 2.49 EUR/小时 | 欧盟合规 |
安装 CUDA 和 NVIDIA Container Toolkit
在安装 Dify 或 Ollama 之前,您需要 NVIDIA CUDA 驱动和 Container Toolkit,以便 Docker 容器能够访问 GPU。
安装 CUDA Toolkit 12.3
验证 GPU 并配置 Docker
运行 nvidia-smi 后,您应该能看到 GPU 及其驱动版本和显存信息。如果 Docker 现在可以使用 --gpus all,则可以进入下一步。
安装 Ollama 并拉取 LLM 模型
Ollama 是在 GPU 上运行开源 LLM 最简便的方式,它会自动检测 CUDA 并使用 GPU 进行推理。
安装 Ollama 并拉取模型
将 Ollama 绑定到所有网络接口
默认情况下,Ollama 仅监听 localhost。要使其能被 Dify 的 Docker 容器访问,需将其绑定到 0.0.0.0:
配置 docker-compose.override.yaml
在 Dify 目录中创建或编辑 docker-compose.override.yaml,以便 Linux 上的容器能将 host.docker.internal 解析为宿主机:
注意: 在 macOS 和 Windows 上,host.docker.internal 会自动解析。在 Linux 上,上述 extra_hosts 条目是必需的。
将 Dify 连接到 Ollama
Ollama 运行并可访问后,将其添加为 Dify 的模型提供商:
- 打开您的 Dify 实例,点击右上角的头像。
- 进入设置,然后选择模型提供商。
- 向下滚动找到 Ollama,点击添加模型。
- 将基础 URL 设置为
http://host.docker.internal:11434。 - 按照
ollama list显示的名称,准确填写模型名称(例如llama3.1:8b)。 - 点击保存——Dify 将测试连接,绿色对勾表示成功。
- 该模型现已在您所有的 Dify 应用和工作流中可用。
提示: 对每个拉取的模型重复第 5 步。您可以添加任意数量的 Ollama 模型——每个都会作为独立的可选模型出现在 Dify 中。
LocalAI — 兼容 OpenAI 的替代方案
如果您偏好兼容 OpenAI 的 API 接口,LocalAI 是 Ollama 的出色替代方案。它暴露了 /v1/chat/completions 等端点,无需额外配置即可使用 Dify 现有的 OpenAI 集成。
使用 Docker 运行 LocalAI(GPU)
启动后,在 Dify 中配置模型提供商:OpenAI-API-compatible,将基础 URL 设为 http://host.docker.internal:8080/v1,并使用在 LocalAI 中加载的任意模型名称。本地部署无需 API 密钥。
按使用场景的模型推荐
根据可用显存以及应用对质量与速度的权衡来选择模型。
| 模型 | 所需显存 | 速度 | 适用场景 |
|---|---|---|---|
llama3.1:8b | ~6 GB | 快速 | 通用对话 |
mistral:7b | ~5 GB | 非常快 | 速度优先应用 |
codellama:13b | ~10 GB | 中等 | 代码生成 |
llama3.1:70b | ~40 GB | 较慢 | 高质量输出 |
mixtral:8x7b | ~26 GB | 中等 | 质量与速度均衡 |
显存快速参考
以上为全精度(fp16)推理的大致需求。量化模型(Q4/Q5)可将显存占用降低 30–50%,使更大的模型能在较小的 GPU 上运行。
相关指南
常见错误及避免方法
错误 1:未正确配置 GPU 权限
在 Docker 中运行 Dify 时,可能会遇到权限问题。具体表现为无法访问 GPU,导致模型无法推理。常见错误信息为:
Error: GPU not accessible 解决方法:确保 Docker 运行时使用了正确的 GPU 访问权限。可以通过以下命令启动 Docker:
docker run --gpus all ... 错误 2:Ollama 未绑定到正确的网络接口
如果 Ollama 只监听 localhost,Dify 无法访问,导致模型无法加载。解决方法是将 Ollama 绑定到 0.0.0.0。检查配置文件:
Ollama bind 0.0.0.0:11434 错误 3:未正确设置 docker-compose.override.yaml
如果没有正确配置 docker-compose.override.yaml,Dify 可能无法解析主机地址。常见症状是模型无法连接。确保文件中包含:
extra_hosts:
host.docker.internal: host-gateway 错误 4:CUDA 版本不兼容
使用不兼容的 CUDA 版本会导致 Ollama 无法正常工作。检查 CUDA 版本与驱动版本是否匹配,使用以下命令确认:
nvidia-smi 错误 5:未监控 Docker 日志
忽视 Docker 日志可能导致未能及时发现问题。使用以下命令查看最近的日志:
docker compose logs | tail -n 50 高级配置
配置 Ollama 的模型缓存
通过配置模型缓存,可以提高模型加载速度。修改 Ollama 的配置文件,添加以下内容:
cache:
enabled: true
path: "/path/to/cache" 调整 Docker 资源限制
为 Docker 容器分配更多内存和 CPU 核心,以提高性能。可以在 docker-compose.yml 中设置:
services:
api:
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G 启用 GPU 性能监控
使用 NVIDIA 的监控工具,实时监控 GPU 使用情况。可以通过以下命令安装并运行:
nvidia-smi dmon -s u