项目场景:
在Docker启动的Dify中配置本地部署的ollama中运行的大模型
问题描述
在Docker启动的Dify中配置本地部署的ollama中运行的大模型,将模型名称与ip+端口配置进去后点击保存时报错,报错信息如下:
An error occurred during credentials validation: HTTPConnectionPool(host=‘’, port=): Max retries exceeded with url: /api/chat (Caused by NewConnectionError(‘<urllib3.connection.HTTPConnection object at 0x7550bc7cb350>: Failed to establish a new connection: [Errno 111] Connection refused’))
原因分析:
首先确认你的Ollama服务跑起来了
网络不通的问题。之前我的Dify和Ollama都是通过Docker部署的,配置的时候没出现过这个问题。现在的Ollama是本地部署的出现了这个问题,起初是怀疑容器内网络与本机不通,后面排除了这个可能。
因为本地的Ollama不是我部署的,所以不清楚是什么配置。后面怀疑是Ollama配置不对,后面查询
Ollama的配置发现是配置的问题
解决方案:
查看及编辑 ollama 服务文件:
vim /etc/systemd/system/ollama.service
主要看这两个参数
Environment="OLLAMA_HOST=0.0.0.0:11434" #允许外部设备访问,注意该设置有风险
Environment="OLLAMA_ORIGINS=*" #允许跨域访问,注意该设置有风险
OLLAMA_HOST 环境变量通常用来指定 Ollama 服务监听的 IP 地址。默认情况只监听 127.0.0.1(即本地回环接口),只有本机可以访问该服务。如果需要让外部其他设备也能访问到这个服务,将其设置为 0.0.0.0,这样 Ollama 就会监听所有可用的网络接口。
OLLAMA_ORIGINS 环境变量设置为 *,这表示接受所有来源的请求,用于配置跨域访问。