ollama拉取模型报错Error: max retries exceeded: EOF

大模型相关问题

1:第一章 本地部署deepseek时,ollama拉取模型报错Error: pull model manifest: 500: {“errors”:[{“code”:“INTERNAL_ERROR”,“message”:“internal error”}]}



前言

今天在拉取ollama模型时首先出现了以下错误:

Error: max retries exceeded: EOF

我又重新拉取,出现下面的报错:

pulling manifest
Error: pull model manifest: 500: {"errors":[{"code":"INTERNAL_ERROR","message":"internal error"}]}

一、处理思路

刚开始的时候我用梯子和不用梯子都可以下载,所以首先排除使用梯子的问题,接着按照网络上搜索的处理方法依次尝试。

二、处理步骤

1:修改防火墙和网络保护

这个我试过之后没效果。

2:清除ollama缓存

代码如下(示例):

ollama rm <model name>

例如,如果要删除名为 deepseek-r1:1.5b 的模型缓存
就输入 ollama rm deepseek-r1:1.5b
结果:

Error: model 'deepseek-r1:1.5b' not found

我查看对应文件目录下也没有内容,C:\Users\用户名.ollama\models\blobs

(我也不知道为啥没有,难道是下载一半,断了之后,自动清除?)


3:重启ollama服务

两种方法:
1:先停止后重启,期间可查看已安装的模型是否停止。

停止ollama服务

sudo systemctl stop ollama

检查已安装的模型是否停止(拓展)

ollama run <model name>

启用ollama服务

sudo systemctl start ollama

2:直接重启

重启ollama服务

sudo systemctl restart ollama.service

但是出现以下错误:

已在此计算机上禁用 Sudo。若要启用它,请转到 Developer Settings page“设置”应用中的

我当时没注意这个报错,想着电脑重启一下ollama也就自动重启了,所以我把重启重启了,但是有试过之后还不行.
查阅资料发现:

  • Ollama服务:Ollama在不同系统中没有设置为随电脑开机自动启动的情况下,电脑重启后需要手动启动。如在Windows系统中需从开始菜单启动Ollama应用程序;Linux系统中若以systemd服务形式运行,需执行 systemctl start ollama 命令启动。
  • Ollama缓存:电脑重启不会自动清除Ollama缓存。Ollama的缓存文件存储在特定目录下,如Linux系统中默认在 /usr/share/ollama/.ollama/models ,macOS和Windows也有各自默认路径,系统重启不会主动清理该目录下的缓存文件。

于是我回过头在设置中把sudo启用。
在这里插入图片描述
把sudo启用之后,我都没重启ollama服务,就直接下载成功了(我也不太理解,按理说应该重启一下才行的)。

三、总结

重启ollama!!!、重启ollama!!!、重启ollama!!!
重要的事情说三遍

### 解决OLLAMA Max Retries Exceeded Unexpected EOF 错误 当遇到 `max retries exceeded: unexpected EOF` 的错误时,这通常意味着客户端尝试与服务器建立连接的过程中遇到了意外终止的情况。对于 OLLAMA 服务而言,此类问题可能是由于网络配置不当、Docker 容器内部通信机制或是目标服务未正常运行所引起的。 #### 修改 Docker 网络设置以提高稳定性 为了改善 Docker 容器内的应用程序能够稳定地访问外部资源,在 Linux 上可以通过调整环境变量来优化网络性能[^3]: ```bash export DOCKER_HOST=tcp://0.0.0.0:2375 ``` 上述命令允许 Docker 使用指定 IP 地址监听请求,默认情况下会开放所有接口供其他设备或容器访问。然而更推荐的做法是指定具体的网卡地址而非通配符(`0.0.0.0`),从而增强安全性并减少潜在冲突的可能性。 #### 配置合理的重试策略 通过编程方式设定更高的超时时间和更多的重试次数可以有效缓解瞬态故障带来的影响。以下是 Python 中利用 `requests` 库实现自定义重试逻辑的例子[^4]: ```python import requests from urllib3.util.retry import Retry from requests.adapters import HTTPAdapter session = requests.Session() retry_strategy = Retry( total=5, backoff_factor=1, status_forcelist=[500, 502, 503, 504], ) adapter = HTTPAdapter(max_retries=retry_strategy) session.mount('http://', adapter) session.mount('https://', adapter) response = session.get('http://example.com') print(response.status_code) ``` 这段代码展示了如何创建一个具有特定重试参数的 Session 对象,并将其应用于所有的 GET 请求中。其中 `backoff_factor` 参数用于控制每次失败后的等待间隔时间;而 `status_forcelist` 列出了哪些HTTP状态码应该触发自动重试行为。 #### 检查 Ollama 服务健康状况 确保 Ollama API 正常工作也是解决问题的关键一步。如果服务端存在问题,则无论怎样修改客户端都不会有太大帮助。建议定期监控API响应情况以及日志记录,以便及时发现异常并采相应措施修复。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值