Dify 与 Ollama 都“在本机”时最常见的问题是把 Ollama 地址写成 localhost。对 Dify 的 API 容器来说,localhost 指向容器自己,不是宿主机。 示例未在你的操作系统、Docker 网络和 Dify 插件版本上实测;Ollama 监听范围会扩大访问面,生产环境必须限制来源并避免直接暴露无认证 API。
本篇验收要点:先从 Dify API 容器测试 Ollama 的 /api/tags,再在 Model Providers 中配置容器可访问的 Ollama 基址。 模型加入列表后,用最小应用发送固定问题,并同时查看 Dify 日志与 Ollama 进程状态。

分别确认两套服务健康
按 Dify 官方 Compose 文档确认相关容器处于运行状态。在 Ollama 主机执行 ollama list 和一次 ollama run。再直接请求 Ollama API:
curl http://127.0.0.1:11434/api/tags
从容器视角选择正确地址
Windows 或 macOS 的 Docker Desktop 常可使用 http://host.docker.internal:11434 访问宿主机;Linux 可把 Ollama 放进双方可达的 Docker 网络,或按受控方式增加 host-gateway。若 Ollama 在另一台局域网机器,使用它的内网地址,并在防火墙只允许 Dify 主机。不要为了省事把 11434 端口开放到整个公网。
先进入 Dify API 容器或用临时诊断容器请求 /api/tags。这一步不通时,继续改 Dify 模型设置没有意义。
在 Dify 配置并做故障对照
安装当前版本认可的 Ollama 提供商插件,基址填上一步已验证的地址,模型名与 ollama list 一致。建立只含 LLM 的最小应用,提问“7×8 只返回数字”。收到 56 后,查看 Dify 请求日志与 ollama ps。最后临时停止 Ollama 再测一次,确认应用呈现明确失败;随后恢复服务。
读者下一步是先在 Ollama 所在机器执行模型列表和一次本地生成请求,确认模型本身可用。
验证标准是 Dify 容器能访问 Ollama API、目标模型名与 ollama list 完全一致、最小应用返回非空回答,断开 Ollama 后 Dify 会明确失败而不是显示假成功。
常见问题
为什么 Dify 报连接拒绝,但浏览器能打开 Ollama?
浏览器在宿主机,Dify 在容器,两者网络视角不同。必须从 Dify 容器验证目标地址。
可以把 Ollama 直接绑定 0.0.0.0 吗?
可以用于受控内网,但 Ollama API 本身不应被当作公网认证边界。配合防火墙、反向代理或私有网络限制来源。
官方资料与适用边界
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31155.html