dify接入ollama api
时间: 2025-05-13 17:54:41 浏览: 24
### 如何将 Dify 与 Ollama API 集成
#### 配置概述
Dify 是一个强大的平台,可以轻松集成各种大语言模型 (LLM),其中包括本地部署的 Ollama 模型。要实现这一目标,可以通过配置 Dify 的模型供应商选项来完成。以下是具体方法:
---
#### 方法一:当 Dify 和 Ollama 同时运行于 Docker 中
如果 Dify 已经通过 Docker 运行,则需要确保两者能够相互通信。在此场景下,Ollama 的服务地址应被设置为 `http://host.docker.internal:8000`[^3]。
- **原因**: 在 Docker 环境中,`host.docker.internal` 提供了一种简单的方法使容器内的应用能够访问宿主机的服务。
- **操作步骤**:
- 登录到 Dify 平台管理界面。
- 转至“设置”部分中的“模型供应商”,并选择“Ollama”作为新的模型提供商。
- 输入基础 URL 地址为 `http://host.docker.internal:8000`。
---
#### 方法二:解决 Ubuntu 系统上的防火墙问题
在某些情况下,尤其是在基于 Linux 的操作系统(如 Ubuntu)上,可能会遇到网络连接失败的情况。这通常是因为系统的防火墙阻止了外部请求到达 Ollama 所监听的端口,默认为 11434[^4]。
- 如果发现无法正常通信,可通过以下命令开放指定端口:
```bash
sudo ufw allow from any to localhost port 11434
```
或者更通用的方式:
```bash
sudo ufw allow from any to 192.x.x.x port 11434
```
上述命令的作用是允许来自任何 IP 对特定端口的入站流量。
---
#### 示例代码片段
假设您正在调试环境变量或者脚本化此过程,下面是一个简单的 Bash 脚本来验证连通性以及启动必要的组件:
```bash
#!/bin/bash
# 开放防火墙端口
sudo ufw allow from any to localhost port 11434
# 测试是否能成功 ping 到 Ollama 默认接口
curl --silent http://localhost:11434/v1/models | jq .
echo "If the above command returns JSON, your setup is correct."
```
注意这里的 `jq` 只是为了美化输出结果,实际测试仅需确认返回有效数据即可。
---
#### 总结
无论是采用 Docker 内部通信还是调整系统级防火墙策略,最终目的都是为了让 Dify 成功调用由 Ollama 提供的服务。以上两种方案分别适用于不同类型的部署架构,并且都经过实践检验可行。
---
阅读全文
相关推荐



















